diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index 29441e70200..d24a42f444d 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -887,6 +887,16 @@ These resource(s) are available for use in the current release of ASO. Different To install the CRDs for these resources, your ASO configuration must include `redhatopenshift.azure.com/*` as one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|----------------------------------|--------------------|----------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| HcpOpenShiftCluster | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftcluster.yaml) | +| HcpOpenShiftClustersExternalAuth | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersexternalauth.yaml) | +| HcpOpenShiftClustersNodePool | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersnodepool.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/docs/hugo/content/reference/redhatopenshift/_index.md b/docs/hugo/content/reference/redhatopenshift/_index.md index 60656086963..59d7281da28 100644 --- a/docs/hugo/content/reference/redhatopenshift/_index.md +++ b/docs/hugo/content/reference/redhatopenshift/_index.md @@ -5,6 +5,16 @@ no_list: true --- To install the CRDs for these resources, your ASO configuration must include `redhatopenshift.azure.com/*` as one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|----------------------------------|--------------------|----------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| HcpOpenShiftCluster | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftcluster.yaml) | +| HcpOpenShiftClustersExternalAuth | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersexternalauth.yaml) | +| HcpOpenShiftClustersNodePool | 2024-06-10-preview | v1api20240610preview | v2.16.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersnodepool.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/download/v2.15.0-rev.60/azureserviceoperator_customresourcedefinitions_v2.15.0-rev.60.yaml b/download/v2.15.0-rev.60/azureserviceoperator_customresourcedefinitions_v2.15.0-rev.60.yaml new file mode 100644 index 00000000000..60ea3fc3bf4 --- /dev/null +++ b/download/v2.15.0-rev.60/azureserviceoperator_customresourcedefinitions_v2.15.0-rev.60.yaml @@ -0,0 +1,563999 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: accounts.cognitiveservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cognitiveservices.azure.com + names: + categories: + - azure + - cognitiveservices + kind: Account + listKind: AccountList + plural: accounts + singular: account + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 64 + minLength: 2 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The Kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of Cognitive Services account.' + properties: + allowProjectManagement: + description: |- + AllowProjectManagement: Specifies whether this resource support project management as child resources, used as + containers for access management, data isolation and cost in AI Foundry. + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: 'AmlWorkspace: The user owned AML account properties.' + properties: + identityClientId: + description: 'IdentityClientId: Identity Client id of a AML account resource.' + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a AML account resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + apiProperties: + description: 'ApiProperties: The api properties for special APIs.' + properties: + aadClientId: + description: 'AadClientId: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + maxLength: 500 + type: string + aadClientIdFromConfig: + description: 'AadClientIdFromConfig: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + aadTenantId: + description: 'AadTenantId: (Metrics Advisor Only) The Azure AD Tenant Id.' + maxLength: 500 + type: string + aadTenantIdFromConfig: + description: 'AadTenantIdFromConfig: (Metrics Advisor Only) The Azure AD Tenant Id.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + eventHubConnectionString: + description: 'EventHubConnectionString: (Personalization Only) The flag to enable statistics of Bing Search.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointId: + description: 'QnaAzureSearchEndpointId: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + type: string + qnaAzureSearchEndpointIdFromConfig: + description: 'QnaAzureSearchEndpointIdFromConfig: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointKey: + description: 'QnaAzureSearchEndpointKey: (QnAMaker Only) The Azure Search endpoint key of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaRuntimeEndpoint: + description: 'QnaRuntimeEndpoint: (QnAMaker Only) The runtime endpoint of QnAMaker.' + type: string + qnaRuntimeEndpointFromConfig: + description: 'QnaRuntimeEndpointFromConfig: (QnAMaker Only) The runtime endpoint of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + statisticsEnabled: + description: 'StatisticsEnabled: (Bing Search Only) The flag to enable statistics of Bing Search.' + type: boolean + storageAccountConnectionString: + description: 'StorageAccountConnectionString: (Personalization Only) The storage account connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + superUser: + description: 'SuperUser: (Metrics Advisor Only) The super user of Metrics Advisor.' + maxLength: 500 + type: string + superUserFromConfig: + description: 'SuperUserFromConfig: (Metrics Advisor Only) The super user of Metrics Advisor.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + websiteName: + description: 'WebsiteName: (Metrics Advisor Only) The website name of Metrics Advisor.' + maxLength: 500 + type: string + websiteNameFromConfig: + description: 'WebsiteNameFromConfig: (Metrics Advisor Only) The website name of Metrics Advisor.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + associatedProjects: + description: 'AssociatedProjects: Specifies the projects, by project name, that are associated with this resource.' + items: + type: string + type: array + customSubDomainName: + description: 'CustomSubDomainName: Optional subdomain name used for token-based authentication.' + type: string + defaultProject: + description: |- + DefaultProject: Specifies the project, by project name, that is targeted when data plane endpoints are called without a + project parameter. + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: The flag to enable dynamic throttling.' + type: boolean + encryption: + description: 'Encryption: The encryption properties for this resource.' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.CognitiveServices + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + properties: + identityClientId: + type: string + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of the Key from KeyVault' + type: string + type: object + type: object + locations: + description: 'Locations: The multiregion settings of Cognitive Services account.' + properties: + regions: + items: + description: The call rate limit Cognitive Services account. + properties: + customsubdomain: + description: 'Customsubdomain: Maps the region to the regional custom subdomain.' + type: string + name: + description: 'Name: Name of the region.' + type: string + value: + description: 'Value: A value for priority or weighted routing methods.' + type: number + type: object + type: array + routingMethod: + description: 'RoutingMethod: Multiregion routing methods.' + enum: + - Performance + - Priority + - Weighted + type: string + type: object + migrationToken: + description: 'MigrationToken: Resource migration token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + networkAcls: + description: 'NetworkAcls: A collection of rules governing the accessibility from specific network locations.' + properties: + bypass: + description: 'Bypass: Setting for trusted services.' + enum: + - AzureServices + - None + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + required: + - value + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility from a specific virtual network. + properties: + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Ignore missing vnet service endpoint or not.' + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: 'State: Gets the state of virtual network rule.' + type: string + required: + - reference + type: object + type: array + type: object + networkInjections: + items: + description: |- + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + scenario: + description: |- + Scenario: Specifies what features in AI Foundry network injection applies to. Currently only supports 'agent' for agent + scenarios. 'none' means no network injection. + enum: + - agent + - none + type: string + subnetArmReference: + description: 'SubnetArmReference: Specify the subnet for which your Agent Client is injected into.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useMicrosoftManagedNetwork: + description: 'UseMicrosoftManagedNetwork: Boolean to enable Microsoft Managed Network for subnet delegation' + type: boolean + type: object + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this account.' + enum: + - Disabled + - Enabled + type: string + raiMonitorConfig: + description: 'RaiMonitorConfig: Cognitive Services Rai Monitor Config.' + properties: + adxStorageResourceReference: + description: 'AdxStorageResourceReference: The storage resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identityClientId: + description: 'IdentityClientId: The identity client Id to access the storage.' + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + userOwnedStorage: + description: 'UserOwnedStorage: The storage accounts for this resource.' + items: + description: The user owned storage for Cognitive Services account. + properties: + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a Microsoft.Storage resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Enterprise + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: Resource Etag.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: User-assigned managed identity. + properties: + clientId: + description: 'ClientId: Client App Id associated with this identity.' + type: string + principalId: + description: 'PrincipalId: Azure Active Directory principal ID associated with this Identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + type: object + type: object + kind: + description: 'Kind: The Kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Properties of Cognitive Services account.' + properties: + abusePenalty: + description: 'AbusePenalty: The abuse penalty.' + properties: + action: + description: 'Action: The action of AbusePenalty.' + type: string + expiration: + description: 'Expiration: The datetime of expiration of the AbusePenalty.' + type: string + rateLimitPercentage: + description: 'RateLimitPercentage: The percentage of rate limit.' + type: number + type: object + allowProjectManagement: + description: |- + AllowProjectManagement: Specifies whether this resource support project management as child resources, used as + containers for access management, data isolation and cost in AI Foundry. + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: 'AmlWorkspace: The user owned AML account properties.' + properties: + identityClientId: + description: 'IdentityClientId: Identity Client id of a AML account resource.' + type: string + resourceId: + description: 'ResourceId: Full resource id of a AML account resource.' + type: string + type: object + apiProperties: + description: 'ApiProperties: The api properties for special APIs.' + properties: + aadClientId: + description: 'AadClientId: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + type: string + aadTenantId: + description: 'AadTenantId: (Metrics Advisor Only) The Azure AD Tenant Id.' + type: string + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + qnaAzureSearchEndpointId: + description: 'QnaAzureSearchEndpointId: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + type: string + qnaRuntimeEndpoint: + description: 'QnaRuntimeEndpoint: (QnAMaker Only) The runtime endpoint of QnAMaker.' + type: string + statisticsEnabled: + description: 'StatisticsEnabled: (Bing Search Only) The flag to enable statistics of Bing Search.' + type: boolean + superUser: + description: 'SuperUser: (Metrics Advisor Only) The super user of Metrics Advisor.' + type: string + websiteName: + description: 'WebsiteName: (Metrics Advisor Only) The website name of Metrics Advisor.' + type: string + type: object + associatedProjects: + description: 'AssociatedProjects: Specifies the projects, by project name, that are associated with this resource.' + items: + type: string + type: array + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + description: |- + Capabilities: Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific + feature. The values are read-only and for reference only. + items: + description: SkuCapability indicates the capability of a certain feature. + properties: + name: + description: 'Name: The name of the SkuCapability.' + type: string + value: + description: 'Value: The value of the SkuCapability.' + type: string + type: object + type: array + commitmentPlanAssociations: + description: 'CommitmentPlanAssociations: The commitment plan associations of Cognitive Services account.' + items: + description: The commitment plan association. + properties: + commitmentPlanId: + description: 'CommitmentPlanId: The Azure resource id of the commitment plan.' + type: string + commitmentPlanLocation: + description: 'CommitmentPlanLocation: The location of of the commitment plan.' + type: string + type: object + type: array + customSubDomainName: + description: 'CustomSubDomainName: Optional subdomain name used for token-based authentication.' + type: string + dateCreated: + description: 'DateCreated: Gets the date of cognitive services account creation.' + type: string + defaultProject: + description: |- + DefaultProject: Specifies the project, by project name, that is targeted when data plane endpoints are called without a + project parameter. + type: string + deletionDate: + description: 'DeletionDate: The deletion date, only available for deleted account.' + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: The flag to enable dynamic throttling.' + type: boolean + encryption: + description: 'Encryption: The encryption properties for this resource.' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + properties: + identityClientId: + type: string + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of the Key from KeyVault' + type: string + type: object + type: object + endpoint: + description: 'Endpoint: Endpoint of the created account.' + type: string + endpoints: + additionalProperties: + type: string + type: object + internalId: + description: 'InternalId: The internal identifier (deprecated, do not use this property).' + type: string + isMigrated: + description: 'IsMigrated: If the resource is migrated from an existing key.' + type: boolean + locations: + description: 'Locations: The multiregion settings of Cognitive Services account.' + properties: + regions: + items: + description: The call rate limit Cognitive Services account. + properties: + customsubdomain: + description: 'Customsubdomain: Maps the region to the regional custom subdomain.' + type: string + name: + description: 'Name: Name of the region.' + type: string + value: + description: 'Value: A value for priority or weighted routing methods.' + type: number + type: object + type: array + routingMethod: + description: 'RoutingMethod: Multiregion routing methods.' + type: string + type: object + networkAcls: + description: 'NetworkAcls: A collection of rules governing the accessibility from specific network locations.' + properties: + bypass: + description: 'Bypass: Setting for trusted services.' + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility from a specific virtual network. + properties: + id: + description: |- + Id: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Ignore missing vnet service endpoint or not.' + type: boolean + state: + description: 'State: Gets the state of virtual network rule.' + type: string + type: object + type: array + type: object + networkInjections: + items: + description: |- + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + scenario: + description: |- + Scenario: Specifies what features in AI Foundry network injection applies to. Currently only supports 'agent' for agent + scenarios. 'none' means no network injection. + type: string + subnetArmId: + description: 'SubnetArmId: Specify the subnet for which your Agent Client is injected into.' + type: string + useMicrosoftManagedNetwork: + description: 'UseMicrosoftManagedNetwork: Boolean to enable Microsoft Managed Network for subnet delegation' + type: boolean + type: object + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: The private endpoint connection associated with the Cognitive Services account.' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Gets the status of the cognitive services account at the time the operation was called.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this account.' + type: string + quotaLimit: + properties: + count: + type: number + renewalPeriod: + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + raiMonitorConfig: + description: 'RaiMonitorConfig: Cognitive Services Rai Monitor Config.' + properties: + adxStorageResourceId: + description: 'AdxStorageResourceId: The storage resource Id.' + type: string + identityClientId: + description: 'IdentityClientId: The identity client Id to access the storage.' + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + scheduledPurgeDate: + description: 'ScheduledPurgeDate: The scheduled purge date, only available for deleted account.' + type: string + skuChangeInfo: + description: 'SkuChangeInfo: Sku change info of account.' + properties: + countOfDowngrades: + description: 'CountOfDowngrades: Gets the count of downgrades.' + type: number + countOfUpgradesAfterDowngrades: + description: 'CountOfUpgradesAfterDowngrades: Gets the count of upgrades after downgrades.' + type: number + lastChangeDate: + description: 'LastChangeDate: Gets the last change date.' + type: string + type: object + userOwnedStorage: + description: 'UserOwnedStorage: The storage accounts for this resource.' + items: + description: The user owned storage for Cognitive Services account. + properties: + identityClientId: + type: string + resourceId: + description: 'ResourceId: Full resource id of a Microsoft.Storage resource.' + type: string + type: object + type: array + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250601.Account + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250601.Account_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20250601.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250601.AccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20250601.AccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20250601.AccountProperties + Properties of Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProjectManagement: + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: |- + Storage version of v1api20250601.UserOwnedAmlWorkspace + The user owned AML account for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a AML account resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + apiProperties: + description: |- + Storage version of v1api20250601.ApiProperties + The api properties for special APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadClientId: + type: string + aadClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + aadTenantId: + type: string + aadTenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + eventHubConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointId: + type: string + qnaAzureSearchEndpointIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaRuntimeEndpoint: + type: string + qnaRuntimeEndpointFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + statisticsEnabled: + type: boolean + storageAccountConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + superUser: + type: string + superUserFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + websiteName: + type: string + websiteNameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + associatedProjects: + items: + type: string + type: array + customSubDomainName: + type: string + defaultProject: + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + type: boolean + encryption: + description: |- + Storage version of v1api20250601.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20250601.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: object + locations: + description: |- + Storage version of v1api20250601.MultiRegionSettings + The multiregion settings Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regions: + items: + description: |- + Storage version of v1api20250601.RegionSetting + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customsubdomain: + type: string + name: + type: string + value: + type: number + type: object + type: array + routingMethod: + type: string + type: object + migrationToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + networkAcls: + description: |- + Storage version of v1api20250601.NetworkRuleSet + A set of rules governing the network accessibility. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20250601.IpRule + A rule governing the accessibility from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20250601.VirtualNetworkRule + A rule governing the accessibility from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVnetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + required: + - reference + type: object + type: array + type: object + networkInjections: + items: + description: |- + Storage version of v1api20250601.NetworkInjection + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scenario: + type: string + subnetArmReference: + description: 'SubnetArmReference: Specify the subnet for which your Agent Client is injected into.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useMicrosoftManagedNetwork: + type: boolean + type: object + type: array + publicNetworkAccess: + type: string + raiMonitorConfig: + description: |- + Storage version of v1api20250601.RaiMonitorConfig + Cognitive Services Rai Monitor Config. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adxStorageResourceReference: + description: 'AdxStorageResourceReference: The storage resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identityClientId: + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + userOwnedStorage: + items: + description: |- + Storage version of v1api20250601.UserOwnedStorage + The user owned storage for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a Microsoft.Storage resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + sku: + description: |- + Storage version of v1api20250601.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250601.Account_STATUS + Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250601.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250601.UserAssignedIdentity_STATUS + User-assigned managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20250601.AccountProperties_STATUS + Properties of Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + abusePenalty: + description: |- + Storage version of v1api20250601.AbusePenalty_STATUS + The abuse penalty. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + expiration: + type: string + rateLimitPercentage: + type: number + type: object + allowProjectManagement: + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: |- + Storage version of v1api20250601.UserOwnedAmlWorkspace_STATUS + The user owned AML account for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceId: + type: string + type: object + apiProperties: + description: |- + Storage version of v1api20250601.ApiProperties_STATUS + The api properties for special APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadClientId: + type: string + aadTenantId: + type: string + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + qnaAzureSearchEndpointId: + type: string + qnaRuntimeEndpoint: + type: string + statisticsEnabled: + type: boolean + superUser: + type: string + websiteName: + type: string + type: object + associatedProjects: + items: + type: string + type: array + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + items: + description: |- + Storage version of v1api20250601.SkuCapability_STATUS + SkuCapability indicates the capability of a certain feature. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + commitmentPlanAssociations: + items: + description: |- + Storage version of v1api20250601.CommitmentPlanAssociation_STATUS + The commitment plan association. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + commitmentPlanId: + type: string + commitmentPlanLocation: + type: string + type: object + type: array + customSubDomainName: + type: string + dateCreated: + type: string + defaultProject: + type: string + deletionDate: + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + type: boolean + encryption: + description: |- + Storage version of v1api20250601.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20250601.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: object + endpoint: + type: string + endpoints: + additionalProperties: + type: string + type: object + internalId: + type: string + isMigrated: + type: boolean + locations: + description: |- + Storage version of v1api20250601.MultiRegionSettings_STATUS + The multiregion settings Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regions: + items: + description: |- + Storage version of v1api20250601.RegionSetting_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customsubdomain: + type: string + name: + type: string + value: + type: number + type: object + type: array + routingMethod: + type: string + type: object + networkAcls: + description: |- + Storage version of v1api20250601.NetworkRuleSet_STATUS + A set of rules governing the network accessibility. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20250601.IpRule_STATUS + A rule governing the accessibility from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20250601.VirtualNetworkRule_STATUS + A rule governing the accessibility from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + state: + type: string + type: object + type: array + type: object + networkInjections: + items: + description: |- + Storage version of v1api20250601.NetworkInjection_STATUS + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scenario: + type: string + subnetArmId: + type: string + useMicrosoftManagedNetwork: + type: boolean + type: object + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20250601.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + quotaLimit: + description: Storage version of v1api20250601.QuotaLimit_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + raiMonitorConfig: + description: |- + Storage version of v1api20250601.RaiMonitorConfig_STATUS + Cognitive Services Rai Monitor Config. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adxStorageResourceId: + type: string + identityClientId: + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + scheduledPurgeDate: + type: string + skuChangeInfo: + description: |- + Storage version of v1api20250601.SkuChangeInfo_STATUS + Sku change info of account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countOfDowngrades: + type: number + countOfUpgradesAfterDowngrades: + type: number + lastChangeDate: + type: string + type: object + userOwnedStorage: + items: + description: |- + Storage version of v1api20250601.UserOwnedStorage_STATUS + The user owned storage for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceId: + type: string + type: object + type: array + type: object + sku: + description: |- + Storage version of v1api20250601.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: accounts.monitor.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: monitor.azure.com + names: + categories: + - azure + - monitor + kind: Account + listKind: AccountList + plural: accounts + singular: account + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230403 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + accountId: + description: 'AccountId: The immutable Id of the Azure Monitor Workspace. This property is read-only.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultIngestionSettings: + description: 'DefaultIngestionSettings: The Data Collection Rule and Endpoint used for ingestion by default.' + properties: + dataCollectionEndpointResourceId: + description: |- + DataCollectionEndpointResourceId: The Azure resource Id of the default data collection endpoint for this Azure Monitor + Workspace. + type: string + dataCollectionRuleResourceId: + description: 'DataCollectionRuleResourceId: The Azure resource Id of the default data collection rule for this Azure Monitor Workspace.' + type: string + type: object + etag: + description: 'Etag: Resource entity tag (ETag)' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + metrics: + description: 'Metrics: Properties related to the metrics container in the Azure Monitor Workspace' + properties: + internalId: + description: 'InternalId: An internal identifier for the metrics container. Only to be used by the system' + type: string + prometheusQueryEndpoint: + description: 'PrometheusQueryEndpoint: The Prometheus query endpoint for the Azure Monitor Workspace' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the Azure Monitor Workspace. Set to Succeeded if everything is healthy.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230403storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230403.Account + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230403.Account_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230403.AccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230403.Account_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultIngestionSettings: + description: |- + Storage version of v1api20230403.IngestionSettings_STATUS + Settings for data ingestion + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataCollectionEndpointResourceId: + type: string + dataCollectionRuleResourceId: + type: string + type: object + etag: + type: string + id: + type: string + location: + type: string + metrics: + description: |- + Storage version of v1api20230403.Metrics_STATUS + Properties related to the metrics container in the Azure Monitor Workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + internalId: + type: string + prometheusQueryEndpoint: + type: string + type: object + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230403.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + systemData: + description: |- + Storage version of v1api20230403.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: actiongroups.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: ActionGroup + listKind: ActionGroupList + plural: actiongroups + singular: actiongroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + armRoleReceivers: + description: |- + ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only + built-in roles are supported. + items: + description: An arm role receiver. + properties: + name: + description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' + type: string + roleId: + description: 'RoleId: The arm role id.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - name + - roleId + type: object + type: array + automationRunbookReceivers: + description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' + items: + description: The Azure Automation Runbook notification receiver. + properties: + automationAccountId: + description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' + type: string + isGlobalRunbook: + description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' + type: boolean + name: + description: 'Name: Indicates name of the webhook.' + type: string + runbookName: + description: 'RunbookName: The name for this runbook.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + webhookResourceReference: + description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - automationAccountId + - isGlobalRunbook + - runbookName + - webhookResourceReference + type: object + type: array + azureAppPushReceivers: + description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' + items: + description: The Azure mobile App push notification receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address registered for the Azure mobile app.' + type: string + name: + description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' + type: string + required: + - emailAddress + - name + type: object + type: array + azureFunctionReceivers: + description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' + items: + description: An azure function receiver. + properties: + functionAppResourceReference: + description: 'FunctionAppResourceReference: The azure resource id of the function app.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + functionName: + description: 'FunctionName: The function name in the function app.' + type: string + httpTriggerUrl: + description: 'HttpTriggerUrl: The http trigger url where http request sent to.' + type: string + name: + description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - functionAppResourceReference + - functionName + - httpTriggerUrl + - name + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + emailReceivers: + description: 'EmailReceivers: The list of email receivers that are part of this action group.' + items: + description: An email receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address of this receiver.' + type: string + name: + description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - emailAddress + - name + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers + will receive communications. + type: boolean + eventHubReceivers: + description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + items: + description: An Event hub receiver. + properties: + eventHubName: + description: 'EventHubName: The name of the specific Event Hub queue' + type: string + eventHubNameSpace: + description: 'EventHubNameSpace: The Event Hub namespace' + type: string + name: + description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' + type: string + subscriptionId: + description: 'SubscriptionId: The Id for the subscription containing this event hub' + type: string + tenantId: + description: 'TenantId: The tenant Id for the subscription containing this event hub' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - eventHubName + - eventHubNameSpace + - name + - subscriptionId + type: object + type: array + groupShortName: + description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' + maxLength: 12 + type: string + itsmReceivers: + description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + items: + description: An Itsm receiver. + properties: + connectionId: + description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' + type: string + name: + description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' + type: string + region: + description: |- + Region: Region in which workspace resides. Supported + values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' + type: string + ticketConfiguration: + description: |- + TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of + this blob as well. + type: string + workspaceId: + description: 'WorkspaceId: OMS LA instance identifier.' + type: string + required: + - connectionId + - name + - region + - ticketConfiguration + - workspaceId + type: object + type: array + location: + description: 'Location: Resource location' + type: string + logicAppReceivers: + description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + items: + description: A logic app receiver. + properties: + callbackUrl: + description: 'CallbackUrl: The callback url where http request sent to.' + type: string + name: + description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + type: string + resourceReference: + description: 'ResourceReference: The azure resource id of the logic app receiver.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - callbackUrl + - name + - resourceReference + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + smsReceivers: + description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' + items: + description: An SMS receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the SMS receiver.' + type: string + name: + description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the SMS receiver.' + type: string + required: + - countryCode + - name + - phoneNumber + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + voiceReceivers: + description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' + items: + description: A voice receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the voice receiver.' + type: string + name: + description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the voice receiver.' + type: string + required: + - countryCode + - name + - phoneNumber + type: object + type: array + webhookReceivers: + description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + items: + description: A webhook receiver. + properties: + identifierUri: + description: 'IdentifierUri: Indicates the identifier uri for aad auth.' + type: string + name: + description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' + type: string + objectId: + description: 'ObjectId: Indicates the webhook app object Id for aad auth.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + tenantId: + description: 'TenantId: Indicates the tenant id for aad auth.' + type: string + useAadAuth: + description: 'UseAadAuth: Indicates whether or not use AAD authentication.' + type: boolean + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - name + - serviceUri + type: object + type: array + required: + - enabled + - groupShortName + - location + - owner + type: object + status: + description: An action group resource. + properties: + armRoleReceivers: + description: |- + ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only + built-in roles are supported. + items: + description: An arm role receiver. + properties: + name: + description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' + type: string + roleId: + description: 'RoleId: The arm role id.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + automationRunbookReceivers: + description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' + items: + description: The Azure Automation Runbook notification receiver. + properties: + automationAccountId: + description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' + type: string + isGlobalRunbook: + description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' + type: boolean + name: + description: 'Name: Indicates name of the webhook.' + type: string + runbookName: + description: 'RunbookName: The name for this runbook.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + webhookResourceId: + description: 'WebhookResourceId: The resource id for webhook linked to this runbook.' + type: string + type: object + type: array + azureAppPushReceivers: + description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' + items: + description: The Azure mobile App push notification receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address registered for the Azure mobile app.' + type: string + name: + description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' + type: string + type: object + type: array + azureFunctionReceivers: + description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' + items: + description: An azure function receiver. + properties: + functionAppResourceId: + description: 'FunctionAppResourceId: The azure resource id of the function app.' + type: string + functionName: + description: 'FunctionName: The function name in the function app.' + type: string + httpTriggerUrl: + description: 'HttpTriggerUrl: The http trigger url where http request sent to.' + type: string + name: + description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + emailReceivers: + description: 'EmailReceivers: The list of email receivers that are part of this action group.' + items: + description: An email receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address of this receiver.' + type: string + name: + description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' + type: string + status: + description: 'Status: The receiver status of the e-mail.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers + will receive communications. + type: boolean + eventHubReceivers: + description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + items: + description: An Event hub receiver. + properties: + eventHubName: + description: 'EventHubName: The name of the specific Event Hub queue' + type: string + eventHubNameSpace: + description: 'EventHubNameSpace: The Event Hub namespace' + type: string + name: + description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' + type: string + subscriptionId: + description: 'SubscriptionId: The Id for the subscription containing this event hub' + type: string + tenantId: + description: 'TenantId: The tenant Id for the subscription containing this event hub' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + groupShortName: + description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' + type: string + id: + description: 'Id: Azure resource Id' + type: string + itsmReceivers: + description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + items: + description: An Itsm receiver. + properties: + connectionId: + description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' + type: string + name: + description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' + type: string + region: + description: |- + Region: Region in which workspace resides. Supported + values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' + type: string + ticketConfiguration: + description: |- + TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of + this blob as well. + type: string + workspaceId: + description: 'WorkspaceId: OMS LA instance identifier.' + type: string + type: object + type: array + location: + description: 'Location: Resource location' + type: string + logicAppReceivers: + description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + items: + description: A logic app receiver. + properties: + callbackUrl: + description: 'CallbackUrl: The callback url where http request sent to.' + type: string + name: + description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + type: string + resourceId: + description: 'ResourceId: The azure resource id of the logic app receiver.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + name: + description: 'Name: Azure resource name' + type: string + smsReceivers: + description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' + items: + description: An SMS receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the SMS receiver.' + type: string + name: + description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the SMS receiver.' + type: string + status: + description: 'Status: The status of the receiver.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + voiceReceivers: + description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' + items: + description: A voice receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the voice receiver.' + type: string + name: + description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the voice receiver.' + type: string + type: object + type: array + webhookReceivers: + description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + items: + description: A webhook receiver. + properties: + identifierUri: + description: 'IdentifierUri: Indicates the identifier uri for aad auth.' + type: string + name: + description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' + type: string + objectId: + description: 'ObjectId: Indicates the webhook app object Id for aad auth.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + tenantId: + description: 'TenantId: Indicates the tenant id for aad auth.' + type: string + useAadAuth: + description: 'UseAadAuth: Indicates whether or not use AAD authentication.' + type: boolean + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.ActionGroup + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.ActionGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + armRoleReceivers: + items: + description: |- + Storage version of v1api20230101.ArmRoleReceiver + An arm role receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + roleId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + automationRunbookReceivers: + items: + description: |- + Storage version of v1api20230101.AutomationRunbookReceiver + The Azure Automation Runbook notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automationAccountId: + type: string + isGlobalRunbook: + type: boolean + name: + type: string + runbookName: + type: string + serviceUri: + type: string + useCommonAlertSchema: + type: boolean + webhookResourceReference: + description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - webhookResourceReference + type: object + type: array + azureAppPushReceivers: + items: + description: |- + Storage version of v1api20230101.AzureAppPushReceiver + The Azure mobile App push notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + type: object + type: array + azureFunctionReceivers: + items: + description: |- + Storage version of v1api20230101.AzureFunctionReceiver + An azure function receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + functionAppResourceReference: + description: 'FunctionAppResourceReference: The azure resource id of the function app.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + functionName: + type: string + httpTriggerUrl: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + required: + - functionAppResourceReference + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + emailReceivers: + items: + description: |- + Storage version of v1api20230101.EmailReceiver + An email receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + enabled: + type: boolean + eventHubReceivers: + items: + description: |- + Storage version of v1api20230101.EventHubReceiver + An Event hub receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubName: + type: string + eventHubNameSpace: + type: string + name: + type: string + subscriptionId: + type: string + tenantId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + groupShortName: + type: string + itsmReceivers: + items: + description: |- + Storage version of v1api20230101.ItsmReceiver + An Itsm receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionId: + type: string + name: + type: string + region: + type: string + ticketConfiguration: + type: string + workspaceId: + type: string + type: object + type: array + location: + type: string + logicAppReceivers: + items: + description: |- + Storage version of v1api20230101.LogicAppReceiver + A logic app receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callbackUrl: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: The azure resource id of the logic app receiver.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useCommonAlertSchema: + type: boolean + required: + - resourceReference + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20230101.ActionGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + smsReceivers: + items: + description: |- + Storage version of v1api20230101.SmsReceiver + An SMS receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + voiceReceivers: + items: + description: |- + Storage version of v1api20230101.VoiceReceiver + A voice receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + webhookReceivers: + items: + description: |- + Storage version of v1api20230101.WebhookReceiver + A webhook receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifierUri: + type: string + name: + type: string + objectId: + type: string + serviceUri: + type: string + tenantId: + type: string + useAadAuth: + type: boolean + useCommonAlertSchema: + type: boolean + type: object + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230101.ActionGroupResource_STATUS + An action group resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + armRoleReceivers: + items: + description: |- + Storage version of v1api20230101.ArmRoleReceiver_STATUS + An arm role receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + roleId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + automationRunbookReceivers: + items: + description: |- + Storage version of v1api20230101.AutomationRunbookReceiver_STATUS + The Azure Automation Runbook notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automationAccountId: + type: string + isGlobalRunbook: + type: boolean + name: + type: string + runbookName: + type: string + serviceUri: + type: string + useCommonAlertSchema: + type: boolean + webhookResourceId: + type: string + type: object + type: array + azureAppPushReceivers: + items: + description: |- + Storage version of v1api20230101.AzureAppPushReceiver_STATUS + The Azure mobile App push notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + type: object + type: array + azureFunctionReceivers: + items: + description: |- + Storage version of v1api20230101.AzureFunctionReceiver_STATUS + An azure function receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + functionAppResourceId: + type: string + functionName: + type: string + httpTriggerUrl: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + emailReceivers: + items: + description: |- + Storage version of v1api20230101.EmailReceiver_STATUS + An email receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + status: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + enabled: + type: boolean + eventHubReceivers: + items: + description: |- + Storage version of v1api20230101.EventHubReceiver_STATUS + An Event hub receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubName: + type: string + eventHubNameSpace: + type: string + name: + type: string + subscriptionId: + type: string + tenantId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + groupShortName: + type: string + id: + type: string + itsmReceivers: + items: + description: |- + Storage version of v1api20230101.ItsmReceiver_STATUS + An Itsm receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionId: + type: string + name: + type: string + region: + type: string + ticketConfiguration: + type: string + workspaceId: + type: string + type: object + type: array + location: + type: string + logicAppReceivers: + items: + description: |- + Storage version of v1api20230101.LogicAppReceiver_STATUS + A logic app receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callbackUrl: + type: string + name: + type: string + resourceId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + name: + type: string + smsReceivers: + items: + description: |- + Storage version of v1api20230101.SmsReceiver_STATUS + An SMS receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + status: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + voiceReceivers: + items: + description: |- + Storage version of v1api20230101.VoiceReceiver_STATUS + A voice receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + webhookReceivers: + items: + description: |- + Storage version of v1api20230101.WebhookReceiver_STATUS + A webhook receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifierUri: + type: string + name: + type: string + objectId: + type: string + serviceUri: + type: string + tenantId: + type: string + useAadAuth: + type: boolean + useCommonAlertSchema: + type: boolean + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: activitylogalerts.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: ActivityLogAlert + listKind: ActivityLogAlertList + plural: activitylogalerts + singular: activitylogalert + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts/{activityLogAlertName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: 'Actions: The actions that will activate when the condition is met.' + properties: + actionGroups: + description: 'ActionGroups: The list of the Action Groups.' + items: + description: A pointer to an Azure Action Group. + properties: + actionGroupReference: + description: 'ActionGroupReference: The resource ID of the Action Group. This cannot be null or empty.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webhookProperties: + additionalProperties: + type: string + description: |- + WebhookProperties: the dictionary of custom properties to include with the post operation. These data are appended to + the webhook payload. + type: object + required: + - actionGroupReference + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: 'Condition: The condition that will cause this alert to activate.' + properties: + allOf: + description: 'AllOf: The list of Activity Log Alert rule conditions.' + items: + description: |- + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + anyOf: + description: 'AnyOf: An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met.' + items: + description: |- + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + required: + - allOf + type: object + description: + description: 'Description: A description of this Activity Log Alert rule.' + type: string + enabled: + description: |- + Enabled: Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then + none of its actions will be activated. + type: boolean + location: + description: |- + Location: The location of the resource. Azure Activity Log Alert rules are supported on Global, West Europe and North + Europe regions. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + description: |- + ScopesReferences: A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events + with resource IDs that fall under one of these prefixes. This list must include at least one item. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + required: + - actions + - condition + - owner + - scopesReferences + type: object + status: + properties: + actions: + description: 'Actions: The actions that will activate when the condition is met.' + properties: + actionGroups: + description: 'ActionGroups: The list of the Action Groups.' + items: + description: A pointer to an Azure Action Group. + properties: + actionGroupId: + description: 'ActionGroupId: The resource ID of the Action Group. This cannot be null or empty.' + type: string + webhookProperties: + additionalProperties: + type: string + description: |- + WebhookProperties: the dictionary of custom properties to include with the post operation. These data are appended to + the webhook payload. + type: object + type: object + type: array + type: object + condition: + description: 'Condition: The condition that will cause this alert to activate.' + properties: + allOf: + description: 'AllOf: The list of Activity Log Alert rule conditions.' + items: + description: |- + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + anyOf: + description: 'AnyOf: An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met.' + items: + description: |- + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: A description of this Activity Log Alert rule.' + type: string + enabled: + description: |- + Enabled: Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then + none of its actions will be activated. + type: boolean + id: + description: 'Id: The resource Id.' + type: string + location: + description: |- + Location: The location of the resource. Azure Activity Log Alert rules are supported on Global, West Europe and North + Europe regions. + type: string + name: + description: 'Name: The name of the resource.' + type: string + scopes: + description: |- + Scopes: A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events with + resource IDs that fall under one of these prefixes. This list must include at least one item. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201001.ActivityLogAlert + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts/{activityLogAlertName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201001.ActivityLogAlert_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20201001.ActionList + A list of Activity Log Alert rule actions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + description: |- + Storage version of v1api20201001.ActionGroupReference + A pointer to an Azure Action Group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupReference: + description: 'ActionGroupReference: The resource ID of the Action Group. This cannot be null or empty.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webhookProperties: + additionalProperties: + type: string + type: object + required: + - actionGroupReference + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: |- + Storage version of v1api20201001.AlertRuleAllOfCondition + An Activity Log Alert rule condition that is met when all its member conditions are met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleAnyOfOrLeafCondition + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + anyOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleLeafCondition + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + type: object + description: + type: string + enabled: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201001.ActivityLogAlertOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20201001.ActivityLogAlert_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20201001.ActionList_STATUS + A list of Activity Log Alert rule actions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + description: |- + Storage version of v1api20201001.ActionGroup_STATUS + A pointer to an Azure Action Group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + webhookProperties: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + condition: + description: |- + Storage version of v1api20201001.AlertRuleAllOfCondition_STATUS + An Activity Log Alert rule condition that is met when all its member conditions are met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleAnyOfOrLeafCondition_STATUS + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + anyOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleLeafCondition_STATUS + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + enabled: + type: boolean + id: + type: string + location: + type: string + name: + type: string + scopes: + items: + type: string + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: afdcustomdomains.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdCustomDomain + listKind: AfdCustomDomainList + plural: afdcustomdomains + singular: afdcustomdomain + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureDnsZone: + description: 'AzureDnsZone: Resource reference to the Azure DNS zone' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' + type: object + hostName: + description: 'HostName: The host name of the domain. Must be a domain name.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + preValidatedCustomDomainResourceId: + description: |- + PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was + prevalidated + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tlsSettings: + description: |- + TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate + or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. + properties: + certificateType: + description: 'CertificateType: Defines the source of the SSL certificate.' + enum: + - AzureFirstPartyManagedCertificate + - CustomerCertificate + - ManagedCertificate + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' + enum: + - TLS10 + - TLS12 + type: string + secret: + description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - certificateType + type: object + required: + - hostName + - owner + type: object + status: + properties: + azureDnsZone: + description: 'AzureDnsZone: Resource reference to the Azure DNS zone' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + domainValidationState: + description: |- + DomainValidationState: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. + DCV stands for DomainControlValidation. + type: string + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' + type: object + hostName: + description: 'HostName: The host name of the domain. Must be a domain name.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + preValidatedCustomDomainResourceId: + description: |- + PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was + prevalidated + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the domain.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tlsSettings: + description: |- + TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate + or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. + properties: + certificateType: + description: 'CertificateType: Defines the source of the SSL certificate.' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' + type: string + secret: + description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: + description: 'Type: Resource type.' + type: string + validationProperties: + description: 'ValidationProperties: Values the customer needs to validate domain ownership' + properties: + expirationDate: + description: 'ExpirationDate: The date time that the token expires' + type: string + validationToken: + description: 'ValidationToken: Challenge used for DNS TXT record or file based validation' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdCustomDomain + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdCustomDomain_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDnsZone: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedProperties: + additionalProperties: + type: string + type: object + hostName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.AfdCustomDomainOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + preValidatedCustomDomainResourceId: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tlsSettings: + description: |- + Storage version of v1api20230501.AFDDomainHttpsParameters + The JSON object that contains the properties to secure a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateType: + type: string + minimumTlsVersion: + type: string + secret: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdCustomDomain_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDnsZone: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + domainValidationState: + type: string + extendedProperties: + additionalProperties: + type: string + type: object + hostName: + type: string + id: + type: string + name: + type: string + preValidatedCustomDomainResourceId: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tlsSettings: + description: |- + Storage version of v1api20230501.AFDDomainHttpsParameters_STATUS + The JSON object that contains the properties to secure a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateType: + type: string + minimumTlsVersion: + type: string + secret: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: + type: string + validationProperties: + description: |- + Storage version of v1api20230501.DomainValidationProperties_STATUS + The JSON object that contains the properties to validate a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationDate: + type: string + validationToken: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: afdendpoints.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdEndpoint + listKind: AfdEndpointList + plural: afdendpoints + singular: afdendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoGeneratedDomainNameLabelScope: + description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' + enum: + - NoReuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + autoGeneratedDomainNameLabelScope: + description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + type: string + hostName: + description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + profileName: + description: 'ProfileName: The name of the profile which holds the endpoint.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdEndpoint + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledState: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.AfdEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + type: string + hostName: + type: string + id: + type: string + location: + type: string + name: + type: string + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: afdorigingroups.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdOriginGroup + listKind: AfdOriginGroupList + plural: afdorigingroups + singular: afdorigingroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + maximum: 255 + minimum: 1 + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + enum: + - Http + - Https + - NotSet + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + enum: + - GET + - HEAD + - NotSet + type: string + type: object + loadBalancingSettings: + description: 'LoadBalancingSettings: Load balancing settings for a backend pool' + properties: + additionalLatencyInMilliseconds: + description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' + type: integer + sampleSize: + description: 'SampleSize: The number of samples to consider for load balancing decisions' + type: integer + successfulSamplesRequired: + description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' + type: integer + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sessionAffinityState: + description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled + type: string + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + maximum: 50 + minimum: 0 + type: integer + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + loadBalancingSettings: + description: 'LoadBalancingSettings: Load balancing settings for a backend pool' + properties: + additionalLatencyInMilliseconds: + description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' + type: integer + sampleSize: + description: 'SampleSize: The number of samples to consider for load balancing decisions' + type: integer + successfulSamplesRequired: + description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' + type: integer + type: object + name: + description: 'Name: Resource name.' + type: string + profileName: + description: 'ProfileName: The name of the profile which holds the origin group.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + sessionAffinityState: + description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + type: integer + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdOriginGroup + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdOriginGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + healthProbeSettings: + description: |- + Storage version of v1api20230501.HealthProbeParameters + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + loadBalancingSettings: + description: |- + Storage version of v1api20230501.LoadBalancingSettingsParameters + Round-Robin load balancing settings for a backend pool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLatencyInMilliseconds: + type: integer + sampleSize: + type: integer + successfulSamplesRequired: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20230501.AfdOriginGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sessionAffinityState: + type: string + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdOriginGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + healthProbeSettings: + description: |- + Storage version of v1api20230501.HealthProbeParameters_STATUS + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + id: + type: string + loadBalancingSettings: + description: |- + Storage version of v1api20230501.LoadBalancingSettingsParameters_STATUS + Round-Robin load balancing settings for a backend pool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLatencyInMilliseconds: + type: integer + sampleSize: + type: integer + successfulSamplesRequired: + type: integer + type: object + name: + type: string + profileName: + type: string + provisioningState: + type: string + sessionAffinityState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: afdorigins.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdOrigin + listKind: AfdOriginList + plural: afdorigins + singular: afdorigin + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + azureOrigin: + description: 'AzureOrigin: Resource reference to the Azure origin resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabledState: + description: |- + EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can + only be disabled if there is a single enabled backend in single enabled backend pool. + enum: + - Disabled + - Enabled + type: string + enforceCertificateNameCheck: + description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' + type: boolean + hostName: + description: |- + HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be + unique across all origins in an endpoint. + type: string + hostNameFromConfig: + description: |- + HostNameFromConfig: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This + should be unique across all origins in an endpoint. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require + this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdOriginGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5 + maximum: 5 + minimum: 1 + type: integer + sharedPrivateLinkResource: + description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' + properties: + groupId: + description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' + type: string + privateLink: + description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the shared private link resource' + type: string + requestMessage: + description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' + type: string + status: + description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' + enum: + - Approved + - Disconnected + - Pending + - Rejected + - Timeout + type: string + type: object + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + maximum: 1000 + minimum: 1 + type: integer + required: + - owner + type: object + status: + properties: + azureOrigin: + description: 'AzureOrigin: Resource reference to the Azure origin resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + description: |- + EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can + only be disabled if there is a single enabled backend in single enabled backend pool. + type: string + enforceCertificateNameCheck: + description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' + type: boolean + hostName: + description: |- + HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be + unique across all origins in an endpoint. + type: string + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + type: integer + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + originGroupName: + description: 'OriginGroupName: The name of the origin group which contains this origin.' + type: string + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require + this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint + type: string + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5 + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + sharedPrivateLinkResource: + description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' + properties: + groupId: + description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' + type: string + privateLink: + description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the shared private link resource' + type: string + requestMessage: + description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' + type: string + status: + description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdOrigin + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdOrigin_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + azureOrigin: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabledState: + type: string + enforceCertificateNameCheck: + type: boolean + hostName: + type: string + hostNameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpPort: + type: integer + httpsPort: + type: integer + operatorSpec: + description: |- + Storage version of v1api20230501.AfdOriginOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originHostHeader: + type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdOriginGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + sharedPrivateLinkResource: + description: |- + Storage version of v1api20230501.SharedPrivateLinkResourceProperties + Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + privateLink: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + privateLinkLocation: + type: string + requestMessage: + type: string + status: + type: string + type: object + weight: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdOrigin_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOrigin: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + type: string + enforceCertificateNameCheck: + type: boolean + hostName: + type: string + httpPort: + type: integer + httpsPort: + type: integer + id: + type: string + name: + type: string + originGroupName: + type: string + originHostHeader: + type: string + priority: + type: integer + provisioningState: + type: string + sharedPrivateLinkResource: + description: |- + Storage version of v1api20230501.SharedPrivateLinkResourceProperties_STATUS + Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + privateLink: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkLocation: + type: string + requestMessage: + type: string + status: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + weight: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: aliases.subscription.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: subscription.azure.com + names: + categories: + - azure + - subscription + kind: Alias + listKind: AliasList + plural: aliases + singular: alias + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json + - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + properties: + description: 'Properties: Put alias request properties.' + properties: + additionalProperties: + description: 'AdditionalProperties: Put alias request additional properties.' + properties: + managementGroupId: + description: 'ManagementGroupId: Management group Id for the subscription.' + type: string + subscriptionOwnerId: + description: 'SubscriptionOwnerId: Owner Id of the subscription' + type: string + subscriptionTenantId: + description: 'SubscriptionTenantId: Tenant Id of the subscription' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags for the subscription' + type: object + type: object + billingScope: + type: string + displayName: + description: 'DisplayName: The friendly name of the subscription.' + type: string + resellerId: + description: 'ResellerId: Reseller Id' + type: string + subscriptionId: + description: 'SubscriptionId: This parameter can be used to create alias for existing subscription Id' + type: string + workload: + description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' + enum: + - DevTest + - Production + type: string + type: object + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Fully qualified ID for the alias resource.' + type: string + name: + description: 'Name: Alias ID.' + type: string + properties: + description: 'Properties: Subscription Alias response properties.' + properties: + acceptOwnershipState: + description: 'AcceptOwnershipState: The accept ownership state of the resource.' + type: string + acceptOwnershipUrl: + description: 'AcceptOwnershipUrl: Url to accept ownership of the subscription.' + type: string + billingScope: + type: string + createdTime: + description: 'CreatedTime: Created Time' + type: string + displayName: + description: 'DisplayName: The display name of the subscription.' + type: string + managementGroupId: + description: 'ManagementGroupId: The Management Group Id.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the resource.' + type: string + resellerId: + description: 'ResellerId: Reseller Id' + type: string + subscriptionId: + description: 'SubscriptionId: Newly created subscription Id.' + type: string + subscriptionOwnerId: + description: 'SubscriptionOwnerId: Owner Id of the subscription' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags for the subscription' + type: object + workload: + description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type, Microsoft.Subscription/aliases.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211001.Alias + Generator information: + - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json + - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211001.Alias_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211001.AliasOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + properties: + description: |- + Storage version of v1api20211001.PutAliasRequestProperties + Put subscription properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + description: |- + Storage version of v1api20211001.PutAliasRequestAdditionalProperties + Put subscription additional properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managementGroupId: + type: string + subscriptionOwnerId: + type: string + subscriptionTenantId: + type: string + tags: + additionalProperties: + type: string + type: object + type: object + billingScope: + type: string + displayName: + type: string + resellerId: + type: string + subscriptionId: + type: string + workload: + type: string + type: object + type: object + status: + description: Storage version of v1api20211001.Alias_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20211001.SubscriptionAliasResponseProperties_STATUS + Put subscription creation result properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptOwnershipState: + type: string + acceptOwnershipUrl: + type: string + billingScope: + type: string + createdTime: + type: string + displayName: + type: string + managementGroupId: + type: string + provisioningState: + type: string + resellerId: + type: string + subscriptionId: + type: string + subscriptionOwnerId: + type: string + tags: + additionalProperties: + type: string + type: object + workload: + type: string + type: object + systemData: + description: |- + Storage version of v1api20211001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: apis.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Api + listKind: ApiList + plural: apis + singular: api + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + maxLength: 100 + minLength: 1 + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + maxLength: 256 + type: string + apiType: + description: |- + ApiType: Type of API to create. + * `http` creates a REST API + * `soap` creates a SOAP pass-through API + * `websocket` creates websocket API + * `graphql` creates GraphQL API. + enum: + - graphql + - http + - soap + - websocket + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + maxLength: 100 + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + maxLength: 256 + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + format: + description: 'Format: Format of the Content in which the API is getting imported.' + enum: + - graphql-link + - openapi + - openapi+json + - openapi+json-link + - openapi-link + - swagger-json + - swagger-link-json + - wadl-link-json + - wadl-xml + - wsdl + - wsdl-link + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + maxLength: 400 + minLength: 0 + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + enum: + - http + - https + - ws + - wss + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + maxLength: 2000 + minLength: 0 + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + translateRequiredQueryParameters: + description: |- + TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has + value 'template'. Possible values: 'template', 'query' + enum: + - query + - template + type: string + type: + description: 'Type: Type of API.' + enum: + - graphql + - http + - soap + - websocket + type: string + value: + description: 'Value: Content value when Importing an API.' + type: string + wsdlSelector: + description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' + properties: + wsdlEndpointName: + description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' + type: string + wsdlServiceName: + description: 'WsdlServiceName: Name of service to import from WSDL' + type: string + type: object + required: + - owner + - path + type: object + status: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + id: + description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + apiVersionSetId: + description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' + type: string + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + isOnline: + description: 'IsOnline: Indicates if API revision is accessible via the gateway.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + type: string + properties_type: + description: 'PropertiesType: Type of API.' + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + type: string + sourceApiId: + description: 'SourceApiId: API identifier of the source API.' + type: string + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Api + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Api_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiType: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20220801.ApiVersionSetContractDetails + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + name: + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: |- + Storage version of v1api20220801.AuthenticationSettingsContract + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contact: + description: |- + Storage version of v1api20220801.ApiContactInformation + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + format: + type: string + isCurrent: + type: boolean + license: + description: |- + Storage version of v1api20220801.ApiLicenseInformation + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.ApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20220801.SubscriptionKeyParameterNamesContract + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + translateRequiredQueryParameters: + type: string + type: + type: string + value: + type: string + wsdlSelector: + description: Storage version of v1api20220801.ApiCreateOrUpdateProperties_WsdlSelector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + wsdlEndpointName: + type: string + wsdlServiceName: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Api_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20220801.ApiVersionSetContractDetails_STATUS + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + name: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetId: + type: string + authenticationSettings: + description: |- + Storage version of v1api20220801.AuthenticationSettingsContract_STATUS + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: |- + Storage version of v1api20220801.ApiContactInformation_STATUS + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + id: + type: string + isCurrent: + type: boolean + isOnline: + type: boolean + license: + description: |- + Storage version of v1api20220801.ApiLicenseInformation_STATUS + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + name: + type: string + path: + type: string + properties_type: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiId: + type: string + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20220801.SubscriptionKeyParameterNamesContract_STATUS + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + maxLength: 100 + minLength: 1 + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + maxLength: 256 + type: string + apiType: + description: |- + ApiType: Type of API to create. + * `http` creates a REST API + * `soap` creates a SOAP pass-through API + * `websocket` creates websocket API + * `graphql` creates GraphQL API. + New types can be added in the future. + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + maxLength: 100 + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + maxLength: 256 + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + format: + description: 'Format: Format of the Content in which the API is getting imported. New formats can be added in the future' + enum: + - graphql-link + - grpc + - grpc-link + - odata + - odata-link + - openapi + - openapi+json + - openapi+json-link + - openapi-link + - swagger-json + - swagger-link-json + - wadl-link-json + - wadl-xml + - wsdl + - wsdl-link + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + maxLength: 400 + minLength: 0 + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + enum: + - http + - https + - ws + - wss + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + maxLength: 2000 + minLength: 0 + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + translateRequiredQueryParameters: + description: |- + TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has + value 'template'. Possible values: 'template', 'query' + enum: + - query + - template + type: string + type: + description: 'Type: Type of API.' + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + value: + description: 'Value: Content value when Importing an API.' + type: string + wsdlSelector: + description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' + properties: + wsdlEndpointName: + description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' + type: string + wsdlServiceName: + description: 'WsdlServiceName: Name of service to import from WSDL' + type: string + type: object + required: + - owner + - path + type: object + status: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + id: + description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + apiVersionSetId: + description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' + type: string + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + isOnline: + description: 'IsOnline: Indicates if API revision is accessible via the gateway.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + type: string + properties_type: + description: 'PropertiesType: Type of API.' + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + type: string + sourceApiId: + description: 'SourceApiId: API identifier of the source API.' + type: string + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Api + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Api_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiType: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20230501preview.ApiVersionSetContractDetails + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + name: + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: |- + Storage version of v1api20230501preview.AuthenticationSettingsContract + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contact: + description: |- + Storage version of v1api20230501preview.ApiContactInformation + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + format: + type: string + isCurrent: + type: boolean + license: + description: |- + Storage version of v1api20230501preview.ApiLicenseInformation + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.ApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + translateRequiredQueryParameters: + type: string + type: + type: string + value: + type: string + wsdlSelector: + description: Storage version of v1api20230501preview.ApiCreateOrUpdateProperties_WsdlSelector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + wsdlEndpointName: + type: string + wsdlServiceName: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Api_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20230501preview.ApiVersionSetContractDetails_STATUS + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + name: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetId: + type: string + authenticationSettings: + description: |- + Storage version of v1api20230501preview.AuthenticationSettingsContract_STATUS + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: |- + Storage version of v1api20230501preview.ApiContactInformation_STATUS + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + id: + type: string + isCurrent: + type: boolean + isOnline: + type: boolean + license: + description: |- + Storage version of v1api20230501preview.ApiLicenseInformation_STATUS + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + name: + type: string + path: + type: string + properties_type: + type: string + protocols: + items: + type: string + type: array + provisioningState: + type: string + serviceUrl: + type: string + sourceApiId: + type: string + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract_STATUS + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + maxLength: 100 + minLength: 1 + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + maxLength: 256 + type: string + apiType: + description: |- + ApiType: Type of API to create. + * `http` creates a REST API + * `soap` creates a SOAP pass-through API + * `websocket` creates websocket API + * `graphql` creates GraphQL API. + New types can be added in the future. + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + maxLength: 100 + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + maxLength: 256 + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + format: + description: 'Format: Format of the Content in which the API is getting imported. New formats can be added in the future' + enum: + - graphql-link + - grpc + - grpc-link + - odata + - odata-link + - openapi + - openapi+json + - openapi+json-link + - openapi-link + - swagger-json + - swagger-link-json + - wadl-link-json + - wadl-xml + - wsdl + - wsdl-link + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + maxLength: 400 + minLength: 0 + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + enum: + - http + - https + - ws + - wss + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + maxLength: 2000 + minLength: 0 + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + translateRequiredQueryParameters: + description: |- + TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has + value 'template'. Possible values: 'template', 'query' + enum: + - query + - template + type: string + type: + description: 'Type: Type of API.' + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + value: + description: 'Value: Content value when Importing an API.' + type: string + wsdlSelector: + description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' + properties: + wsdlEndpointName: + description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' + type: string + wsdlServiceName: + description: 'WsdlServiceName: Name of service to import from WSDL' + type: string + type: object + required: + - owner + - path + type: object + status: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + id: + description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + apiVersionSetId: + description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' + type: string + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + isOnline: + description: 'IsOnline: Indicates if API revision is accessible via the gateway.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + type: string + properties_type: + description: 'PropertiesType: Type of API.' + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + type: string + sourceApiId: + description: 'SourceApiId: API identifier of the source API.' + type: string + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Api + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Api_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiType: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20240501.ApiVersionSetContractDetails + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + name: + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: |- + Storage version of v1api20240501.AuthenticationSettingsContract + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20240501.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20240501.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20240501.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20240501.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contact: + description: |- + Storage version of v1api20240501.ApiContactInformation + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + format: + type: string + isCurrent: + type: boolean + license: + description: |- + Storage version of v1api20240501.ApiLicenseInformation + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240501.ApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20240501.SubscriptionKeyParameterNamesContract + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + translateRequiredQueryParameters: + type: string + type: + type: string + value: + type: string + wsdlSelector: + description: Storage version of v1api20240501.ApiCreateOrUpdateProperties_WsdlSelector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + wsdlEndpointName: + type: string + wsdlServiceName: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Api_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20240501.ApiVersionSetContractDetails_STATUS + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + name: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetId: + type: string + authenticationSettings: + description: |- + Storage version of v1api20240501.AuthenticationSettingsContract_STATUS + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20240501.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20240501.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20240501.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20240501.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: |- + Storage version of v1api20240501.ApiContactInformation_STATUS + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + id: + type: string + isCurrent: + type: boolean + isOnline: + type: boolean + license: + description: |- + Storage version of v1api20240501.ApiLicenseInformation_STATUS + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + name: + type: string + path: + type: string + properties_type: + type: string + protocols: + items: + type: string + type: array + provisioningState: + type: string + serviceUrl: + type: string + sourceApiId: + type: string + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20240501.SubscriptionKeyParameterNamesContract_STATUS + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: apiversionsets.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: ApiVersionSet + listKind: ApiVersionSetList + plural: apiversionsets + singular: apiversionset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + maxLength: 100 + minLength: 1 + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + maxLength: 100 + minLength: 1 + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + required: + - displayName + - owner + - versioningScheme + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.ApiVersionSet + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.ApiVersionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ApiVersionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.ApiVersionSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + type: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + maxLength: 100 + minLength: 1 + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + maxLength: 100 + minLength: 1 + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + required: + - displayName + - owner + - versioningScheme + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.ApiVersionSet + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.ApiVersionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ApiVersionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.ApiVersionSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + type: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + maxLength: 100 + minLength: 1 + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + maxLength: 100 + minLength: 1 + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + required: + - displayName + - owner + - versioningScheme + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.ApiVersionSet + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.ApiVersionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.ApiVersionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.ApiVersionSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + type: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: applicationgateways.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: ApplicationGateway + listKind: ApplicationGatewayList + plural: applicationgateways + singular: applicationgateway + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authenticationCertificates: + description: |- + AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Authentication certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Name of the authentication certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Autoscale Configuration.' + properties: + maxCapacity: + description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' + minimum: 2 + type: integer + minCapacity: + description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' + minimum: 0 + type: integer + required: + - minCapacity + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + description: |- + BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend Address Pool of an application gateway. + properties: + backendAddresses: + description: 'BackendAddresses: Backend addresses.' + items: + description: Backend address of an application gateway. + properties: + fqdn: + description: 'Fqdn: Fully qualified domain name (FQDN).' + type: string + ipAddress: + description: 'IpAddress: IP address.' + type: string + type: object + type: array + name: + description: 'Name: Name of the backend address pool that is unique within an Application Gateway.' + type: string + type: object + type: array + backendHttpSettingsCollection: + description: |- + BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + affinityCookieName: + description: 'AffinityCookieName: Cookie name to use for the affinity cookie.' + type: string + authenticationCertificates: + description: 'AuthenticationCertificates: Array of references to application gateway authentication certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + connectionDraining: + description: 'ConnectionDraining: Connection draining of the backend http settings resource.' + properties: + drainTimeoutInSec: + description: |- + DrainTimeoutInSec: The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 + seconds. + maximum: 3600 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Whether connection draining is enabled or not.' + type: boolean + required: + - drainTimeoutInSec + - enabled + type: object + cookieBasedAffinity: + description: 'CookieBasedAffinity: Cookie based affinity.' + enum: + - Disabled + - Enabled + type: string + hostName: + description: 'HostName: Host header to be sent to the backend servers.' + type: string + name: + description: 'Name: Name of the backend http settings that is unique within an Application Gateway.' + type: string + path: + description: |- + Path: Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is + null. + type: string + pickHostNameFromBackendAddress: + description: |- + PickHostNameFromBackendAddress: Whether to pick host header should be picked from the host name of the backend server. + Default value is false. + type: boolean + port: + description: 'Port: The destination port on the backend.' + type: integer + probe: + description: 'Probe: Probe resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + probeEnabled: + description: 'ProbeEnabled: Whether the probe is enabled. Default value is false.' + type: boolean + protocol: + description: 'Protocol: The protocol used to communicate with the backend.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + requestTimeout: + description: |- + RequestTimeout: Request timeout in seconds. Application Gateway will fail the request if response is not received within + RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + type: integer + trustedRootCertificates: + description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + backendSettingsCollection: + description: |- + BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + hostName: + description: 'HostName: Server name indication to be sent to the backend servers for Tls protocol.' + type: string + name: + description: 'Name: Name of the backend settings that is unique within an Application Gateway.' + type: string + pickHostNameFromBackendAddress: + description: |- + PickHostNameFromBackendAddress: Whether to pick server name indication from the host name of the backend server for Tls + protocol. Default value is false. + type: boolean + port: + description: 'Port: The destination port on the backend.' + type: integer + probe: + description: 'Probe: Probe resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The protocol used to communicate with the backend.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + timeout: + description: |- + Timeout: Connection timeout in seconds. Application Gateway will fail the request if response is not received within + ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds. + type: integer + trustedRootCertificates: + description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + enum: + - HttpStatus403 + - HttpStatus502 + type: string + type: object + type: array + enableFips: + description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' + type: boolean + enableHttp2: + description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' + type: boolean + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + forceFirewallPolicyAssociation: + description: |- + ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the + policy differs from the WAF Config. + type: boolean + frontendIPConfigurations: + description: |- + FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend IP configuration of an application gateway. + properties: + name: + description: 'Name: Name of the frontend IP configuration that is unique within an Application Gateway.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: PrivateIPAddress of the network interface IP Configuration.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + privateLinkConfiguration: + description: 'PrivateLinkConfiguration: Reference to the application gateway private link configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + frontendPorts: + description: |- + FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend port of an application gateway. + properties: + name: + description: 'Name: Name of the frontend port that is unique within an Application Gateway.' + type: string + port: + description: 'Port: Frontend port.' + type: integer + type: object + type: array + gatewayIPConfigurations: + description: |- + GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + name: + description: 'Name: Name of the IP configuration that is unique within an Application Gateway.' + type: string + subnet: + description: 'Subnet: Reference to the subnet resource. A subnet from where application gateway gets its private address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + globalConfiguration: + description: 'GlobalConfiguration: Global Configuration.' + properties: + enableRequestBuffering: + description: 'EnableRequestBuffering: Enable request buffering.' + type: boolean + enableResponseBuffering: + description: 'EnableResponseBuffering: Enable response buffering.' + type: boolean + type: object + httpListeners: + description: |- + HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Http listener of an application gateway. + properties: + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the HTTP listener.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + enum: + - HttpStatus403 + - HttpStatus502 + type: string + type: object + type: array + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendIPConfiguration: + description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: 'FrontendPort: Frontend port resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostName: + description: 'HostName: Host name of HTTP listener.' + type: string + hostNames: + description: 'HostNames: List of Host names for HTTP Listener that allows special wildcard characters as well.' + items: + type: string + type: array + name: + description: 'Name: Name of the HTTP listener that is unique within an Application Gateway.' + type: string + protocol: + description: 'Protocol: Protocol of the HTTP listener.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + requireServerNameIndication: + description: 'RequireServerNameIndication: Applicable only if protocol is https. Enables SNI for multi-hosting.' + type: boolean + sslCertificate: + description: 'SslCertificate: SSL certificate resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: 'SslProfile: SSL profile resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + identity: + description: 'Identity: The identity of the application gateway, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + listeners: + description: |- + Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Listener of an application gateway. + properties: + frontendIPConfiguration: + description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: 'FrontendPort: Frontend port resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the listener that is unique within an Application Gateway.' + type: string + protocol: + description: 'Protocol: Protocol of the listener.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + sslCertificate: + description: 'SslCertificate: SSL certificate resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: 'SslProfile: SSL profile resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadDistributionPolicies: + description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' + items: + description: Load Distribution Policy of an application gateway. + properties: + loadDistributionAlgorithm: + description: 'LoadDistributionAlgorithm: Load Distribution Targets resource of an application gateway.' + enum: + - IpHash + - LeastConnections + - RoundRobin + type: string + loadDistributionTargets: + description: 'LoadDistributionTargets: Load Distribution Targets resource of an application gateway.' + items: + description: Load Distribution Target of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: Name of the load distribution policy that is unique within an Application Gateway.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkConfigurations: + description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' + items: + description: Private Link Configuration on an application gateway. + properties: + ipConfigurations: + description: 'IpConfigurations: An array of application gateway private link ip configurations.' + items: + description: The application gateway private link ip configuration. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: Name of the private link configuration that is unique within an Application Gateway.' + type: string + type: object + type: array + probes: + description: 'Probes: Probes of the application gateway resource.' + items: + description: Probe of the application gateway. + properties: + host: + description: 'Host: Host name to send the probe to.' + type: string + interval: + description: |- + Interval: The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values + are from 1 second to 86400 seconds. + type: integer + match: + description: 'Match: Criterion for classifying a healthy probe response.' + properties: + body: + description: 'Body: Body that must be contained in the health response. Default value is empty.' + type: string + statusCodes: + description: 'StatusCodes: Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.' + items: + type: string + type: array + type: object + minServers: + description: 'MinServers: Minimum number of servers that are always marked healthy. Default value is 0.' + type: integer + name: + description: 'Name: Name of the probe that is unique within an Application Gateway.' + type: string + path: + description: 'Path: Relative path of probe. Valid path starts from ''/''. Probe is sent to ://:.' + type: string + pickHostNameFromBackendHttpSettings: + description: |- + PickHostNameFromBackendHttpSettings: Whether the host header should be picked from the backend http settings. Default + value is false. + type: boolean + pickHostNameFromBackendSettings: + description: |- + PickHostNameFromBackendSettings: Whether the server name indication should be picked from the backend settings for Tls + protocol. Default value is false. + type: boolean + port: + description: |- + Port: Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case + not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The protocol used for the probe.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + timeout: + description: |- + Timeout: The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout + period. Acceptable values are from 1 second to 86400 seconds. + type: integer + unhealthyThreshold: + description: |- + UnhealthyThreshold: The probe retry count. Backend server is marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + type: integer + type: object + type: array + redirectConfigurations: + description: |- + RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Redirect configuration of an application gateway. + properties: + includePath: + description: 'IncludePath: Include path in the redirected url.' + type: boolean + includeQueryString: + description: 'IncludeQueryString: Include query string in the redirected url.' + type: boolean + name: + description: 'Name: Name of the redirect configuration that is unique within an Application Gateway.' + type: string + pathRules: + description: 'PathRules: Path rules specifying redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + redirectType: + description: 'RedirectType: HTTP redirection type.' + enum: + - Found + - Permanent + - SeeOther + - Temporary + type: string + requestRoutingRules: + description: 'RequestRoutingRules: Request routing specifying redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + targetListener: + description: 'TargetListener: Reference to a listener to redirect the request to.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + targetUrl: + description: 'TargetUrl: Url to redirect the request to.' + type: string + urlPathMaps: + description: 'UrlPathMaps: Url path maps specifying default redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + requestRoutingRules: + description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' + items: + description: Request routing rule of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: 'BackendHttpSettings: Backend http settings resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpListener: + description: 'HttpListener: Http listener resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: 'LoadDistributionPolicy: Load Distribution Policy resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the request routing rule that is unique within an Application Gateway.' + type: string + priority: + description: 'Priority: Priority of the request routing rule.' + maximum: 20000 + minimum: 1 + type: integer + redirectConfiguration: + description: 'RedirectConfiguration: Redirect configuration resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: 'RewriteRuleSet: Rewrite Rule Set resource in Basic rule of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + ruleType: + description: 'RuleType: Rule type.' + enum: + - Basic + - PathBasedRouting + type: string + urlPathMap: + description: 'UrlPathMap: URL path map resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + rewriteRuleSets: + description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' + items: + description: Rewrite rule set of an application gateway. + properties: + name: + description: 'Name: Name of the rewrite rule set that is unique within an Application Gateway.' + type: string + rewriteRules: + description: 'RewriteRules: Rewrite rules in the rewrite rule set.' + items: + description: Rewrite rule of an application gateway. + properties: + actionSet: + description: 'ActionSet: Set of actions to be done as part of the rewrite Rule.' + properties: + requestHeaderConfigurations: + description: 'RequestHeaderConfigurations: Request Header Actions in the Action Set.' + items: + description: Header configuration of the Actions set in Application Gateway. + properties: + headerName: + description: 'HeaderName: Header name of the header configuration.' + type: string + headerValue: + description: 'HeaderValue: Header value of the header configuration.' + type: string + type: object + type: array + responseHeaderConfigurations: + description: 'ResponseHeaderConfigurations: Response Header Actions in the Action Set.' + items: + description: Header configuration of the Actions set in Application Gateway. + properties: + headerName: + description: 'HeaderName: Header name of the header configuration.' + type: string + headerValue: + description: 'HeaderValue: Header value of the header configuration.' + type: string + type: object + type: array + urlConfiguration: + description: 'UrlConfiguration: Url Configuration Action in the Action Set.' + properties: + modifiedPath: + description: |- + ModifiedPath: Url path which user has provided for url rewrite. Null means no path will be updated. Default value is + null. + type: string + modifiedQueryString: + description: |- + ModifiedQueryString: Query string which user has provided for url rewrite. Null means no query string will be updated. + Default value is null. + type: string + reroute: + description: |- + Reroute: If set as true, it will re-evaluate the url path map provided in path based request routing rules using + modified path. Default value is false. + type: boolean + type: object + type: object + conditions: + description: 'Conditions: Conditions based on which the action set execution will be evaluated.' + items: + description: Set of conditions in the Rewrite Rule in Application Gateway. + properties: + ignoreCase: + description: 'IgnoreCase: Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.' + type: boolean + negate: + description: 'Negate: Setting this value as truth will force to check the negation of the condition given by the user.' + type: boolean + pattern: + description: 'Pattern: The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.' + type: string + variable: + description: 'Variable: The condition parameter of the RewriteRuleCondition.' + type: string + type: object + type: array + name: + description: 'Name: Name of the rewrite rule that is unique within an Application Gateway.' + type: string + ruleSequence: + description: |- + RuleSequence: Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a + RewriteRuleSet. + type: integer + type: object + type: array + type: object + type: array + routingRules: + description: 'RoutingRules: Routing rules of the application gateway resource.' + items: + description: Routing rule of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendSettings: + description: 'BackendSettings: Backend settings resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + listener: + description: 'Listener: Listener resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the routing rule that is unique within an Application Gateway.' + type: string + priority: + description: 'Priority: Priority of the routing rule.' + maximum: 20000 + minimum: 1 + type: integer + ruleType: + description: 'RuleType: Rule type.' + enum: + - Basic + - PathBasedRouting + type: string + required: + - priority + type: object + type: array + sku: + description: 'Sku: SKU of the application gateway resource.' + properties: + capacity: + description: 'Capacity: Capacity (instance count) of an application gateway.' + type: integer + name: + description: 'Name: Name of an application gateway SKU.' + enum: + - Standard_Large + - Standard_Medium + - Standard_Small + - Standard_v2 + - WAF_Large + - WAF_Medium + - WAF_v2 + type: string + tier: + description: 'Tier: Tier of an application gateway.' + enum: + - Standard + - Standard_v2 + - WAF + - WAF_v2 + type: string + type: object + sslCertificates: + description: |- + SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL certificates of an application gateway. + properties: + data: + description: 'Data: Base-64 encoded pfx certificate. Only applicable in PUT Request.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the SSL certificate that is unique within an Application Gateway.' + type: string + password: + description: 'Password: Password for the pfx file specified in data. Only applicable in PUT request.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + enum: + - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 + - TLS_DHE_RSA_WITH_AES_128_CBC_SHA + - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_DHE_RSA_WITH_AES_256_CBC_SHA + - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_RSA_WITH_3DES_EDE_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA256 + - TLS_RSA_WITH_AES_128_GCM_SHA256 + - TLS_RSA_WITH_AES_256_CBC_SHA + - TLS_RSA_WITH_AES_256_CBC_SHA256 + - TLS_RSA_WITH_AES_256_GCM_SHA384 + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + enum: + - AppGwSslPolicy20150501 + - AppGwSslPolicy20170401 + - AppGwSslPolicy20170401S + - AppGwSslPolicy20220101 + - AppGwSslPolicy20220101S + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + enum: + - Custom + - CustomV2 + - Predefined + type: string + type: object + sslProfiles: + description: |- + SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL profile of an application gateway. + properties: + clientAuthConfiguration: + description: 'ClientAuthConfiguration: Client authentication configuration of the application gateway resource.' + properties: + verifyClientCertIssuerDN: + description: 'VerifyClientCertIssuerDN: Verify client certificate issuer name on the application gateway.' + type: boolean + verifyClientRevocation: + description: 'VerifyClientRevocation: Verify client certificate revocation status.' + enum: + - None + - OCSP + type: string + type: object + name: + description: 'Name: Name of the SSL profile that is unique within an Application Gateway.' + type: string + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + enum: + - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 + - TLS_DHE_RSA_WITH_AES_128_CBC_SHA + - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_DHE_RSA_WITH_AES_256_CBC_SHA + - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_RSA_WITH_3DES_EDE_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA256 + - TLS_RSA_WITH_AES_128_GCM_SHA256 + - TLS_RSA_WITH_AES_256_CBC_SHA + - TLS_RSA_WITH_AES_256_CBC_SHA256 + - TLS_RSA_WITH_AES_256_GCM_SHA384 + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + enum: + - AppGwSslPolicy20150501 + - AppGwSslPolicy20170401 + - AppGwSslPolicy20170401S + - AppGwSslPolicy20220101 + - AppGwSslPolicy20220101S + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + enum: + - Custom + - CustomV2 + - Predefined + type: string + type: object + trustedClientCertificates: + description: 'TrustedClientCertificates: Array of references to application gateway trusted client certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedClientCertificates: + description: |- + TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted client certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Name of the trusted client certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + trustedRootCertificates: + description: |- + TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted Root certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the trusted root certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + urlPathMaps: + description: |- + UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + defaultBackendAddressPool: + description: 'DefaultBackendAddressPool: Default backend address pool resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultBackendHttpSettings: + description: 'DefaultBackendHttpSettings: Default backend http settings resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultLoadDistributionPolicy: + description: 'DefaultLoadDistributionPolicy: Default Load Distribution Policy resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRedirectConfiguration: + description: 'DefaultRedirectConfiguration: Default redirect configuration resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRewriteRuleSet: + description: 'DefaultRewriteRuleSet: Default Rewrite rule set resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the URL path map that is unique within an Application Gateway.' + type: string + pathRules: + description: 'PathRules: Path rule of URL path map resource.' + items: + description: Path rule of URL path map of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: 'BackendHttpSettings: Backend http settings resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: 'LoadDistributionPolicy: Load Distribution Policy resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the path rule that is unique within an Application Gateway.' + type: string + paths: + description: 'Paths: Path rules of URL path map.' + items: + type: string + type: array + redirectConfiguration: + description: 'RedirectConfiguration: Redirect configuration resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: 'RewriteRuleSet: Rewrite rule set resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + type: array + webApplicationFirewallConfiguration: + description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' + properties: + disabledRuleGroups: + description: 'DisabledRuleGroups: The disabled rule groups.' + items: + description: Allows to disable rules within a rule group or an entire rule group. + properties: + ruleGroupName: + description: 'RuleGroupName: The name of the rule group that will be disabled.' + type: string + rules: + description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' + items: + type: integer + type: array + required: + - ruleGroupName + type: object + type: array + enabled: + description: 'Enabled: Whether the web application firewall is enabled or not.' + type: boolean + exclusions: + description: 'Exclusions: The exclusion list.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + minimum: 0 + type: integer + firewallMode: + description: 'FirewallMode: Web application firewall mode.' + enum: + - Detection + - Prevention + type: string + maxRequestBodySize: + description: 'MaxRequestBodySize: Maximum request body size for WAF.' + maximum: 128 + minimum: 8 + type: integer + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + maximum: 128 + minimum: 8 + type: integer + requestBodyCheck: + description: 'RequestBodyCheck: Whether allow WAF to check request Body.' + type: boolean + ruleSetType: + description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: The version of the rule set type.' + type: string + required: + - enabled + - firewallMode + - ruleSetType + - ruleSetVersion + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Application gateway resource. + properties: + authenticationCertificates: + description: |- + AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Authentication certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Autoscale Configuration.' + properties: + maxCapacity: + description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' + type: integer + minCapacity: + description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' + type: integer + type: object + backendAddressPools: + description: |- + BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendHttpSettingsCollection: + description: |- + BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendSettingsCollection: + description: |- + BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + type: string + type: object + type: array + enableFips: + description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' + type: boolean + enableHttp2: + description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + forceFirewallPolicyAssociation: + description: |- + ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the + policy differs from the WAF Config. + type: boolean + frontendIPConfigurations: + description: |- + FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend IP configuration of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + frontendPorts: + description: |- + FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend port of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + gatewayIPConfigurations: + description: |- + GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + globalConfiguration: + description: 'GlobalConfiguration: Global Configuration.' + properties: + enableRequestBuffering: + description: 'EnableRequestBuffering: Enable request buffering.' + type: boolean + enableResponseBuffering: + description: 'EnableResponseBuffering: Enable response buffering.' + type: boolean + type: object + httpListeners: + description: |- + HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Http listener of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The identity of the application gateway, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + listeners: + description: |- + Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Listener of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadDistributionPolicies: + description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' + items: + description: Load Distribution Policy of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + operationalState: + description: 'OperationalState: Operational state of the application gateway resource.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private Endpoint connections on application gateway.' + items: + description: Private Endpoint connection on an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkConfigurations: + description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' + items: + description: Private Link Configuration on an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + probes: + description: 'Probes: Probes of the application gateway resource.' + items: + description: Probe of the application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the application gateway resource.' + type: string + redirectConfigurations: + description: |- + RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Redirect configuration of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + requestRoutingRules: + description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' + items: + description: Request routing rule of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the application gateway resource.' + type: string + rewriteRuleSets: + description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' + items: + description: Rewrite rule set of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + routingRules: + description: 'RoutingRules: Routing rules of the application gateway resource.' + items: + description: Routing rule of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sku: + description: 'Sku: SKU of the application gateway resource.' + properties: + capacity: + description: 'Capacity: Capacity (instance count) of an application gateway.' + type: integer + name: + description: 'Name: Name of an application gateway SKU.' + type: string + tier: + description: 'Tier: Tier of an application gateway.' + type: string + type: object + sslCertificates: + description: |- + SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + type: string + type: object + sslProfiles: + description: |- + SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL profile of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedClientCertificates: + description: |- + TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted client certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + trustedRootCertificates: + description: |- + TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted Root certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' + type: string + urlPathMaps: + description: |- + UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + webApplicationFirewallConfiguration: + description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' + properties: + disabledRuleGroups: + description: 'DisabledRuleGroups: The disabled rule groups.' + items: + description: Allows to disable rules within a rule group or an entire rule group. + properties: + ruleGroupName: + description: 'RuleGroupName: The name of the rule group that will be disabled.' + type: string + rules: + description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' + items: + type: integer + type: array + type: object + type: array + enabled: + description: 'Enabled: Whether the web application firewall is enabled or not.' + type: boolean + exclusions: + description: 'Exclusions: The exclusion list.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + type: string + type: object + type: array + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + type: integer + firewallMode: + description: 'FirewallMode: Web application firewall mode.' + type: string + maxRequestBodySize: + description: 'MaxRequestBodySize: Maximum request body size for WAF.' + type: integer + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + type: integer + requestBodyCheck: + description: 'RequestBodyCheck: Whether allow WAF to check request Body.' + type: boolean + ruleSetType: + description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: The version of the rule set type.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.ApplicationGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.ApplicationGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate + Authentication certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration + Application Gateway autoscale configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddressPool + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddresses: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddress + Backend address of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddress: + type: string + type: object + type: array + name: + type: string + type: object + type: array + backendHttpSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinityCookieName: + type: string + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + connectionDraining: + description: |- + Storage version of v1api20220701.ApplicationGatewayConnectionDraining + Connection draining allows open connections to a backend server to be active for a specified time after the backend + server got removed from the configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInSec: + type: integer + enabled: + type: boolean + type: object + cookieBasedAffinity: + type: string + hostName: + type: string + name: + type: string + path: + type: string + pickHostNameFromBackendAddress: + type: boolean + port: + type: integer + probe: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + probeEnabled: + type: boolean + protocol: + type: string + requestTimeout: + type: integer + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + backendSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendSettings + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + type: string + name: + type: string + pickHostNameFromBackendAddress: + type: boolean + port: + type: integer + probe: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + type: string + timeout: + type: integer + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + enableFips: + type: boolean + enableHttp2: + type: boolean + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + forceFirewallPolicyAssociation: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration + Frontend IP configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAddress: + type: string + privateIPAllocationMethod: + type: string + privateLinkConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPAddress: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + frontendPorts: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendPort + Frontend port of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + port: + type: integer + type: object + type: array + gatewayIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayIPConfiguration_ApplicationGateway_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + globalConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration + Application Gateway global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableRequestBuffering: + type: boolean + enableResponseBuffering: + type: boolean + type: object + httpListeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHttpListener + Http listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendIPConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostName: + type: string + hostNames: + items: + type: string + type: array + name: + type: string + protocol: + type: string + requireServerNameIndication: + type: boolean + sslCertificate: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + identity: + description: |- + Storage version of v1api20220701.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + listeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayListener + Listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frontendIPConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + protocol: + type: string + sslCertificate: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadDistributionPolicies: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy + Load Distribution Policy of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadDistributionAlgorithm: + type: string + loadDistributionTargets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionTarget + Load Distribution Target of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.ApplicationGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration + Private Link Configuration on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkIpConfiguration + The application gateway private link ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbe + Probe of the application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + interval: + type: integer + match: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbeHealthResponseMatch + Application gateway probe health response match. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + statusCodes: + items: + type: string + type: array + type: object + minServers: + type: integer + name: + type: string + path: + type: string + pickHostNameFromBackendHttpSettings: + type: boolean + pickHostNameFromBackendSettings: + type: boolean + port: + type: integer + protocol: + type: string + timeout: + type: integer + unhealthyThreshold: + type: integer + type: object + type: array + redirectConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration + Redirect configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includePath: + type: boolean + includeQueryString: + type: boolean + name: + type: string + pathRules: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + redirectType: + type: string + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + targetListener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + targetUrl: + type: string + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule + Request routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpListener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + priority: + type: integer + redirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + ruleType: + type: string + urlPathMap: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + rewriteRuleSets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet + Rewrite rule set of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + rewriteRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRule + Rewrite rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionSet: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleActionSet + Set of actions in the Rewrite Rule in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + requestHeaderConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration + Header configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + responseHeaderConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration + Header configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + urlConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlConfiguration + Url configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + modifiedPath: + type: string + modifiedQueryString: + type: string + reroute: + type: boolean + type: object + type: object + conditions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleCondition + Set of conditions in the Rewrite Rule in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreCase: + type: boolean + negate: + type: boolean + pattern: + type: string + variable: + type: string + type: object + type: array + name: + type: string + ruleSequence: + type: integer + type: object + type: array + type: object + type: array + routingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRoutingRule + Routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + listener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + priority: + type: integer + ruleType: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.ApplicationGatewaySku + SKU of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + sslCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslCertificate + SSL certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + type: string + name: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + sslProfiles: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslProfile + SSL profile of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientAuthConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayClientAuthConfiguration + Application gateway client authentication configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + verifyClientCertIssuerDN: + type: boolean + verifyClientRevocation: + type: string + type: object + name: + type: string + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate + Trusted client certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + type: object + type: array + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate + Trusted Root certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + type: string + name: + type: string + type: object + type: array + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlPathMap + UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultBackendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultBackendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultLoadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRedirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + pathRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPathRule + Path rule of URL path map of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + paths: + items: + type: string + type: array + redirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + type: array + webApplicationFirewallConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration + Application gateway web application firewall configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledRuleGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup + Allows to disable rules within a rule group or an entire rule group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + type: integer + type: array + type: object + type: array + enabled: + type: boolean + exclusions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallExclusion + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + fileUploadLimitInMb: + type: integer + firewallMode: + type: string + maxRequestBodySize: + type: integer + maxRequestBodySizeInKb: + type: integer + requestBodyCheck: + type: boolean + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.ApplicationGateway_STATUS + Application gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate_STATUS + Authentication certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration_STATUS + Application Gateway autoscale configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddressPool_STATUS + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendHttpSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings_STATUS + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendSettings_STATUS + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError_STATUS + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + enableFips: + type: boolean + enableHttp2: + type: boolean + etag: + type: string + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + forceFirewallPolicyAssociation: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration_STATUS + Frontend IP configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + frontendPorts: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendPort_STATUS + Frontend port of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + gatewayIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayIPConfiguration_STATUS_ApplicationGateway_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + globalConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration_STATUS + Application Gateway global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableRequestBuffering: + type: boolean + enableResponseBuffering: + type: boolean + type: object + httpListeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHttpListener_STATUS + Http listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20220701.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220701.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + listeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayListener_STATUS + Listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadDistributionPolicies: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy_STATUS + Load Distribution Policy of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + operationalState: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateEndpointConnection_STATUS + Private Endpoint connection on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration_STATUS + Private Link Configuration on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbe_STATUS + Probe of the application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redirectConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration_STATUS + Redirect configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule_STATUS + Request routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + rewriteRuleSets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet_STATUS + Rewrite rule set of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + routingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRoutingRule_STATUS + Routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.ApplicationGatewaySku_STATUS + SKU of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + sslCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslCertificate_STATUS + SSL certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy_STATUS + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + sslProfiles: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslProfile_STATUS + SSL profile of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate_STATUS + Trusted client certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate_STATUS + Trusted Root certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: + type: string + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlPathMap_STATUS + UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + webApplicationFirewallConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration_STATUS + Application gateway web application firewall configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledRuleGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup_STATUS + Allows to disable rules within a rule group or an entire rule group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + type: integer + type: array + type: object + type: array + enabled: + type: boolean + exclusions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallExclusion_STATUS + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + fileUploadLimitInMb: + type: integer + firewallMode: + type: string + maxRequestBodySize: + type: integer + maxRequestBodySizeInKb: + type: integer + requestBodyCheck: + type: boolean + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: applicationsecuritygroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: ApplicationSecurityGroup + listKind: ApplicationSecurityGroupList + plural: applicationsecuritygroups + singular: applicationsecuritygroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: An application security group in a resource group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the application security group resource.' + type: string + resourceGuid: + description: |- + ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, + even if the user changes its name or migrate the resource across subscriptions or resource groups. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.ApplicationSecurityGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroup_STATUS + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: authconfigs.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: AuthConfig + listKind: AuthConfigList + plural: authconfigs + singular: authconfig + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + enum: + - AllowAnonymous + - RedirectToLoginPage + - Return401 + - Return403 + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + enum: + - Custom + - NoProxy + - Standard + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + `https://login.microsoftonline.com/v2.0/{tenant-guid}/`. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + enum: + - ClientSecretPost + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + enum: + - FixedTime + - IdentityProviderDerived + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + required: + - sasUrlSettingName + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + `https://login.microsoftonline.com/v2.0/{tenant-guid}/`. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.AuthConfig + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.AuthConfig_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + Storage version of v1api20240301.EncryptionSettings + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20240301.GlobalValidation + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20240301.HttpSettings + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20240301.ForwardProxy + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20240301.HttpSettingsRoutes + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + identityProviders: + description: |- + Storage version of v1api20240301.IdentityProviders + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20240301.Apple + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppleRegistration + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20240301.AzureActiveDirectory + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryLogin + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryRegistration + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryValidation + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20240301.DefaultAuthorizationPolicy + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20240301.AllowedPrincipals + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20240301.JwtClaimChecks + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20240301.AzureStaticWebApps + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.AzureStaticWebAppsRegistration + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20240301.CustomOpenIdConnectProvider + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.OpenIdConnectLogin + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.OpenIdConnectRegistration + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20240301.OpenIdConnectClientCredential + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20240301.OpenIdConnectConfig + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20240301.Facebook + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppRegistration + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20240301.GitHub + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20240301.Google + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AllowedAudiencesValidation + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20240301.Twitter + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.TwitterRegistration + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20240301.Login + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20240301.CookieExpiration + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20240301.Nonce + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20240301.LoginRoutes + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20240301.TokenStore + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20240301.BlobStorageTokenStore + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.AuthConfigOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: |- + Storage version of v1api20240301.AuthPlatform + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.AuthConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + Storage version of v1api20240301.EncryptionSettings_STATUS + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20240301.GlobalValidation_STATUS + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20240301.HttpSettings_STATUS + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20240301.ForwardProxy_STATUS + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20240301.HttpSettingsRoutes_STATUS + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + id: + type: string + identityProviders: + description: |- + Storage version of v1api20240301.IdentityProviders_STATUS + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20240301.Apple_STATUS + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppleRegistration_STATUS + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20240301.AzureActiveDirectory_STATUS + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryLogin_STATUS + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryRegistration_STATUS + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryValidation_STATUS + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20240301.DefaultAuthorizationPolicy_STATUS + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20240301.AllowedPrincipals_STATUS + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20240301.JwtClaimChecks_STATUS + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20240301.AzureStaticWebApps_STATUS + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.AzureStaticWebAppsRegistration_STATUS + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20240301.CustomOpenIdConnectProvider_STATUS + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.OpenIdConnectLogin_STATUS + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.OpenIdConnectRegistration_STATUS + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20240301.OpenIdConnectClientCredential_STATUS + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20240301.OpenIdConnectConfig_STATUS + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20240301.Facebook_STATUS + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppRegistration_STATUS + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20240301.GitHub_STATUS + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20240301.Google_STATUS + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AllowedAudiencesValidation_STATUS + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20240301.Twitter_STATUS + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.TwitterRegistration_STATUS + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20240301.Login_STATUS + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20240301.CookieExpiration_STATUS + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20240301.Nonce_STATUS + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20240301.LoginRoutes_STATUS + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20240301.TokenStore_STATUS + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20240301.BlobStorageTokenStore_STATUS + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + name: + type: string + platform: + description: |- + Storage version of v1api20240301.AuthPlatform_STATUS + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + enum: + - AllowAnonymous + - RedirectToLoginPage + - Return401 + - Return403 + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + enum: + - Custom + - NoProxy + - Standard + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + https://login.microsoftonline.com/v2.0/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + enum: + - ClientSecretPost + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + enum: + - FixedTime + - IdentityProviderDerived + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + required: + - sasUrlSettingName + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + https://login.microsoftonline.com/v2.0/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.AuthConfig + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.AuthConfig_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + Storage version of v1api20250101.EncryptionSettings + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20250101.GlobalValidation + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20250101.HttpSettings + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20250101.ForwardProxy + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20250101.HttpSettingsRoutes + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + identityProviders: + description: |- + Storage version of v1api20250101.IdentityProviders + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20250101.Apple + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppleRegistration + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20250101.AzureActiveDirectory + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryLogin + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryRegistration + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryValidation + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20250101.DefaultAuthorizationPolicy + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20250101.AllowedPrincipals + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20250101.JwtClaimChecks + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20250101.AzureStaticWebApps + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.AzureStaticWebAppsRegistration + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20250101.CustomOpenIdConnectProvider + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.OpenIdConnectLogin + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.OpenIdConnectRegistration + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20250101.OpenIdConnectClientCredential + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20250101.OpenIdConnectConfig + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20250101.Facebook + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppRegistration + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20250101.GitHub + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20250101.Google + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AllowedAudiencesValidation + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20250101.Twitter + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.TwitterRegistration + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20250101.Login + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20250101.CookieExpiration + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20250101.Nonce + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20250101.LoginRoutes + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20250101.TokenStore + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20250101.BlobStorageTokenStore + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20250101.AuthConfigOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: |- + Storage version of v1api20250101.AuthPlatform + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250101.AuthConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + Storage version of v1api20250101.EncryptionSettings_STATUS + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20250101.GlobalValidation_STATUS + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20250101.HttpSettings_STATUS + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20250101.ForwardProxy_STATUS + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20250101.HttpSettingsRoutes_STATUS + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + id: + type: string + identityProviders: + description: |- + Storage version of v1api20250101.IdentityProviders_STATUS + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20250101.Apple_STATUS + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppleRegistration_STATUS + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20250101.AzureActiveDirectory_STATUS + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryLogin_STATUS + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryRegistration_STATUS + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryValidation_STATUS + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20250101.DefaultAuthorizationPolicy_STATUS + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20250101.AllowedPrincipals_STATUS + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20250101.JwtClaimChecks_STATUS + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20250101.AzureStaticWebApps_STATUS + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.AzureStaticWebAppsRegistration_STATUS + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20250101.CustomOpenIdConnectProvider_STATUS + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.OpenIdConnectLogin_STATUS + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.OpenIdConnectRegistration_STATUS + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20250101.OpenIdConnectClientCredential_STATUS + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20250101.OpenIdConnectConfig_STATUS + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20250101.Facebook_STATUS + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppRegistration_STATUS + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20250101.GitHub_STATUS + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20250101.Google_STATUS + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AllowedAudiencesValidation_STATUS + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20250101.Twitter_STATUS + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.TwitterRegistration_STATUS + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20250101.Login_STATUS + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20250101.CookieExpiration_STATUS + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20250101.Nonce_STATUS + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20250101.LoginRoutes_STATUS + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20250101.TokenStore_STATUS + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20250101.BlobStorageTokenStore_STATUS + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + name: + type: string + platform: + description: |- + Storage version of v1api20250101.AuthPlatform_STATUS + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: authorizationproviders.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvider + listKind: AuthorizationProviderList + plural: authorizationproviders + singular: authorizationprovider + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: 'ClientCredentials: OAuth2 client credential grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + additionalProperties: + type: string + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + type: object + clientCredentials: + additionalProperties: + type: string + description: 'ClientCredentials: OAuth2 client credential grant parameters' + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvider + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvider_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + identityProvider: + type: string + oauth2: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2Settings + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProviderOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvider_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + identityProvider: + type: string + name: + type: string + oauth2: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2Settings_STATUS + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes_STATUS + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + additionalProperties: + type: string + type: object + clientCredentials: + additionalProperties: + type: string + type: object + type: object + redirectUrl: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: 'ClientCredentials: OAuth2 client credential grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + additionalProperties: + type: string + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + type: object + clientCredentials: + additionalProperties: + type: string + description: 'ClientCredentials: OAuth2 client credential grant parameters' + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvider + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvider_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + identityProvider: + type: string + oauth2: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvider_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + identityProvider: + type: string + name: + type: string + oauth2: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings_STATUS + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes_STATUS + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + additionalProperties: + type: string + type: object + clientCredentials: + additionalProperties: + type: string + type: object + type: object + redirectUrl: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: 'ClientCredentials: OAuth2 client credential grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + additionalProperties: + type: string + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + type: object + clientCredentials: + additionalProperties: + type: string + description: 'ClientCredentials: OAuth2 client credential grant parameters' + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.AuthorizationProvider + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.AuthorizationProvider_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + identityProvider: + type: string + oauth2: + description: |- + Storage version of v1api20240501.AuthorizationProviderOAuth2Settings + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20240501.AuthorizationProviderOAuth2GrantTypes + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240501.AuthorizationProviderOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240501.AuthorizationProvider_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + identityProvider: + type: string + name: + type: string + oauth2: + description: |- + Storage version of v1api20240501.AuthorizationProviderOAuth2Settings_STATUS + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20240501.AuthorizationProviderOAuth2GrantTypes_STATUS + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + additionalProperties: + type: string + type: object + clientCredentials: + additionalProperties: + type: string + type: object + type: object + redirectUrl: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: authorizationprovidersauthorizations.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvidersAuthorization + listKind: AuthorizationProvidersAuthorizationList + plural: authorizationprovidersauthorizations + singular: authorizationprovidersauthorization + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + enum: + - OAuth2 + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + enum: + - AuthorizationCode + - ClientCredentials + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: Authorization parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: 'Error: Authorization error details.' + properties: + code: + description: 'Code: Error code' + type: string + message: + description: 'Message: Error message' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + type: string + parameters: + additionalProperties: + type: string + description: 'Parameters: Authorization parameters' + type: object + status: + description: 'Status: Status of the Authorization' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorization + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + oauth2grantType: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: |- + Storage version of v1api20220801.AuthorizationError_STATUS + Authorization error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + type: object + id: + type: string + name: + type: string + oauth2grantType: + type: string + parameters: + additionalProperties: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + enum: + - OAuth2 + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + enum: + - AuthorizationCode + - ClientCredentials + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: Authorization parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: 'Error: Authorization error details.' + properties: + code: + description: 'Code: Error code' + type: string + message: + description: 'Message: Error message' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + type: string + parameters: + additionalProperties: + type: string + description: 'Parameters: Authorization parameters' + type: object + status: + description: 'Status: Status of the Authorization' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorization + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + oauth2grantType: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: |- + Storage version of v1api20230501preview.AuthorizationError_STATUS + Authorization error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + type: object + id: + type: string + name: + type: string + oauth2grantType: + type: string + parameters: + additionalProperties: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + enum: + - OAuth2 + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + enum: + - AuthorizationCode + - ClientCredentials + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: Authorization parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: 'Error: Authorization error details.' + properties: + code: + description: 'Code: Error code' + type: string + message: + description: 'Message: Error message' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + type: string + parameters: + additionalProperties: + type: string + description: 'Parameters: Authorization parameters' + type: object + status: + description: 'Status: Status of the Authorization' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.AuthorizationProvidersAuthorization + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.AuthorizationProvidersAuthorization_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + oauth2grantType: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.AuthorizationProvidersAuthorizationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240501.AuthorizationProvidersAuthorization_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: |- + Storage version of v1api20240501.AuthorizationError_STATUS + Authorization error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + type: object + id: + type: string + name: + type: string + oauth2grantType: + type: string + parameters: + additionalProperties: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvidersAuthorizationsAccessPolicy + listKind: AuthorizationProvidersAuthorizationsAccessPolicyList + plural: authorizationprovidersauthorizationsaccesspolicies + singular: authorizationprovidersauthorizationsaccesspolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The Object Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + description: 'TenantId: The Tenant Id' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The Tenant Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + tenantId: + description: 'TenantId: The Tenant Id' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The Object Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + description: 'TenantId: The Tenant Id' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The Tenant Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + tenantId: + description: 'TenantId: The Tenant Id' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The Object Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + description: 'TenantId: The Tenant Id' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The Tenant Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + tenantId: + description: 'TenantId: The Tenant Id' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.AuthorizationProvidersAuthorizationsAccessPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20240501.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240501.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: autoscalesettings.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: AutoscaleSetting + listKind: AutoscaleSettingList + plural: autoscalesettings + singular: autoscalesetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' + type: boolean + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: the name of the autoscale setting.' + type: string + notifications: + description: 'Notifications: the collection of notifications.' + items: + description: Autoscale notification. + properties: + email: + description: 'Email: the email notification.' + properties: + customEmails: + description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' + items: + type: string + type: array + sendToSubscriptionAdministrator: + description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' + type: boolean + sendToSubscriptionCoAdministrators: + description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' + type: boolean + type: object + operation: + description: 'Operation: the operation associated with the notification and its value must be "scale"' + enum: + - Scale + type: string + webhooks: + description: 'Webhooks: the collection of webhook notifications.' + items: + description: Webhook notification of an autoscale event. + properties: + properties: + additionalProperties: + type: string + description: 'Properties: a property bag of settings. This value can be empty.' + type: object + serviceUri: + description: 'ServiceUri: the service address to receive the notification.' + type: string + type: object + type: array + required: + - operation + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + predictiveAutoscalePolicy: + description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' + properties: + scaleLookAheadTime: + description: |- + ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 + minute and 60 minutes in ISO 8601 format. + type: string + scaleMode: + description: 'ScaleMode: the predictive autoscale mode' + enum: + - Disabled + - Enabled + - ForecastOnly + type: string + required: + - scaleMode + type: object + profiles: + description: |- + Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time + periods. A maximum of 20 profiles can be specified. + items: + description: Autoscale profile. + properties: + capacity: + description: 'Capacity: the number of instances that can be used during this profile.' + properties: + default: + description: |- + Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used + if the current instance count is lower than the default. + type: string + maximum: + description: |- + Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the + cores that are available in the subscription. + type: string + minimum: + description: 'Minimum: the minimum number of instances for the resource.' + type: string + required: + - default + - maximum + - minimum + type: object + fixedDate: + description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' + properties: + end: + description: 'End: the end time for the profile in ISO 8601 format.' + type: string + start: + description: 'Start: the start time for the profile in ISO 8601 format.' + type: string + timeZone: + description: |- + TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline + Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard + Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, + Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern + Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, + Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. + South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo + Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, + Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard + Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, + Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - end + - start + type: object + name: + description: 'Name: the name of the profile.' + type: string + recurrence: + description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + properties: + frequency: + description: |- + Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning + each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the + week. The frequency property specifies that the schedule is repeated weekly. + enum: + - Day + - Hour + - Minute + - Month + - None + - Second + - Week + - Year + type: string + schedule: + description: 'Schedule: the scheduling constraints for when the profile begins.' + properties: + days: + description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' + items: + type: string + type: array + hours: + description: |- + Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM + times are not supported). + items: + type: integer + type: array + minutes: + description: 'Minutes: A collection of minutes at which the profile takes effect at.' + items: + type: integer + type: array + timeZone: + description: |- + TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, + UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US + Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central + Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard + Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central + Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South + America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard + Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco + Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, + Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan + Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - days + - hours + - minutes + - timeZone + type: object + required: + - frequency + - schedule + type: object + rules: + description: |- + Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules + can be specified. + items: + description: A rule that provide the triggers and parameters for the scaling action. + properties: + metricTrigger: + description: 'MetricTrigger: the trigger that results in a scaling action.' + properties: + dimensions: + description: |- + Dimensions: List of dimension conditions. For example: + [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + items: + description: Specifies an auto scale rule metric dimension. + properties: + DimensionName: + description: 'DimensionName: Name of the dimension.' + type: string + Operator: + description: |- + Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the + values. 'NotEquals' being not equal to all of the values + enum: + - Equals + - NotEquals + type: string + Values: + description: 'Values: list of dimension values. For example: ["App1","App2"].' + items: + type: string + type: array + required: + - DimensionName + - Operator + - Values + type: object + type: array + dividePerInstance: + description: 'DividePerInstance: a value indicating whether metric should divide per instance.' + type: boolean + metricName: + description: 'MetricName: the name of the metric that defines what the rule monitors.' + type: string + metricNamespace: + description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' + type: string + metricResourceLocation: + description: 'MetricResourceLocation: the location of the resource the rule monitors.' + type: string + metricResourceUriReference: + description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operator: + description: 'Operator: the operator that is used to compare the metric data and the threshold.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - NotEquals + type: string + statistic: + description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' + enum: + - Average + - Count + - Max + - Min + - Sum + type: string + threshold: + description: 'Threshold: the threshold of the metric that triggers the scale action.' + type: number + timeAggregation: + description: |- + TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value + is Average. + enum: + - Average + - Count + - Last + - Maximum + - Minimum + - Total + type: string + timeGrain: + description: |- + TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric + definitions for the metric. Must be between 12 hours and 1 minute. + type: string + timeWindow: + description: |- + TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric + collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + type: string + required: + - metricName + - metricResourceUriReference + - operator + - statistic + - threshold + - timeAggregation + - timeGrain + - timeWindow + type: object + scaleAction: + description: 'ScaleAction: the parameters for the scaling action.' + properties: + cooldown: + description: |- + Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week + and 1 minute in ISO 8601 format. + type: string + direction: + description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' + enum: + - Decrease + - Increase + - None + type: string + type: + description: 'Type: the type of action that should occur when the scale rule fires.' + enum: + - ChangeCount + - ExactCount + - PercentChangeCount + - ServiceAllowedNextValue + type: string + value: + description: |- + Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default + value is 1. + type: string + required: + - cooldown + - direction + - type + type: object + required: + - metricTrigger + - scaleAction + type: object + type: array + required: + - capacity + - name + - rules + type: object + maxItems: 20 + type: array + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no + greater in length than 128 characters and a value no greater in length than 256 characters. + type: object + targetResourceLocation: + description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' + type: string + targetResourceUriReference: + description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - location + - owner + - profiles + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' + type: boolean + id: + description: 'Id: Azure resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + notifications: + description: 'Notifications: the collection of notifications.' + items: + description: Autoscale notification. + properties: + email: + description: 'Email: the email notification.' + properties: + customEmails: + description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' + items: + type: string + type: array + sendToSubscriptionAdministrator: + description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' + type: boolean + sendToSubscriptionCoAdministrators: + description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' + type: boolean + type: object + operation: + description: 'Operation: the operation associated with the notification and its value must be "scale"' + type: string + webhooks: + description: 'Webhooks: the collection of webhook notifications.' + items: + description: Webhook notification of an autoscale event. + properties: + properties: + additionalProperties: + type: string + description: 'Properties: a property bag of settings. This value can be empty.' + type: object + serviceUri: + description: 'ServiceUri: the service address to receive the notification.' + type: string + type: object + type: array + type: object + type: array + predictiveAutoscalePolicy: + description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' + properties: + scaleLookAheadTime: + description: |- + ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 + minute and 60 minutes in ISO 8601 format. + type: string + scaleMode: + description: 'ScaleMode: the predictive autoscale mode' + type: string + type: object + profiles: + description: |- + Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time + periods. A maximum of 20 profiles can be specified. + items: + description: Autoscale profile. + properties: + capacity: + description: 'Capacity: the number of instances that can be used during this profile.' + properties: + default: + description: |- + Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used + if the current instance count is lower than the default. + type: string + maximum: + description: |- + Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the + cores that are available in the subscription. + type: string + minimum: + description: 'Minimum: the minimum number of instances for the resource.' + type: string + required: + - default + - maximum + - minimum + type: object + fixedDate: + description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' + properties: + end: + description: 'End: the end time for the profile in ISO 8601 format.' + type: string + start: + description: 'Start: the start time for the profile in ISO 8601 format.' + type: string + timeZone: + description: |- + TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline + Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard + Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, + Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern + Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, + Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. + South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo + Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, + Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard + Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, + Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - end + - start + type: object + name: + description: 'Name: the name of the profile.' + type: string + recurrence: + description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + properties: + frequency: + description: |- + Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning + each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the + week. The frequency property specifies that the schedule is repeated weekly. + enum: + - Day + - Hour + - Minute + - Month + - None + - Second + - Week + - Year + type: string + schedule: + description: 'Schedule: the scheduling constraints for when the profile begins.' + properties: + days: + description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' + items: + type: string + type: array + hours: + description: |- + Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM + times are not supported). + items: + type: integer + type: array + minutes: + description: 'Minutes: A collection of minutes at which the profile takes effect at.' + items: + type: integer + type: array + timeZone: + description: |- + TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, + UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US + Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central + Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard + Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central + Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South + America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard + Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco + Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, + Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan + Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - days + - hours + - minutes + - timeZone + type: object + required: + - frequency + - schedule + type: object + rules: + description: |- + Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules + can be specified. + items: + description: A rule that provide the triggers and parameters for the scaling action. + properties: + metricTrigger: + description: 'MetricTrigger: the trigger that results in a scaling action.' + properties: + dimensions: + description: |- + Dimensions: List of dimension conditions. For example: + [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + items: + description: Specifies an auto scale rule metric dimension. + properties: + DimensionName: + description: 'DimensionName: Name of the dimension.' + type: string + Operator: + description: |- + Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the + values. 'NotEquals' being not equal to all of the values + enum: + - Equals + - NotEquals + type: string + Values: + description: 'Values: list of dimension values. For example: ["App1","App2"].' + items: + type: string + type: array + required: + - DimensionName + - Operator + - Values + type: object + type: array + dividePerInstance: + description: 'DividePerInstance: a value indicating whether metric should divide per instance.' + type: boolean + metricName: + description: 'MetricName: the name of the metric that defines what the rule monitors.' + type: string + metricNamespace: + description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' + type: string + metricResourceLocation: + description: 'MetricResourceLocation: the location of the resource the rule monitors.' + type: string + metricResourceUri: + description: 'MetricResourceUri: the resource identifier of the resource the rule monitors.' + type: string + operator: + description: 'Operator: the operator that is used to compare the metric data and the threshold.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - NotEquals + type: string + statistic: + description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' + enum: + - Average + - Count + - Max + - Min + - Sum + type: string + threshold: + description: 'Threshold: the threshold of the metric that triggers the scale action.' + type: number + timeAggregation: + description: |- + TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value + is Average. + enum: + - Average + - Count + - Last + - Maximum + - Minimum + - Total + type: string + timeGrain: + description: |- + TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric + definitions for the metric. Must be between 12 hours and 1 minute. + type: string + timeWindow: + description: |- + TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric + collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + type: string + required: + - metricName + - metricResourceUri + - operator + - statistic + - threshold + - timeAggregation + - timeGrain + - timeWindow + type: object + scaleAction: + description: 'ScaleAction: the parameters for the scaling action.' + properties: + cooldown: + description: |- + Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week + and 1 minute in ISO 8601 format. + type: string + direction: + description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' + enum: + - Decrease + - Increase + - None + type: string + type: + description: 'Type: the type of action that should occur when the scale rule fires.' + enum: + - ChangeCount + - ExactCount + - PercentChangeCount + - ServiceAllowedNextValue + type: string + value: + description: |- + Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default + value is 1. + type: string + required: + - cooldown + - direction + - type + type: object + required: + - metricTrigger + - scaleAction + type: object + type: array + required: + - capacity + - name + - rules + type: object + type: array + properties_name: + description: 'PropertiesName: the name of the autoscale setting.' + type: string + systemData: + description: 'SystemData: The system metadata related to the response.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no + greater in length than 128 characters and a value no greater in length than 256 characters. + type: object + targetResourceLocation: + description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' + type: string + targetResourceUri: + description: 'TargetResourceUri: the resource identifier of the resource that the autoscale setting should be added to.' + type: string + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001.AutoscaleSetting + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001.AutoscaleSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + type: boolean + location: + type: string + name: + type: string + notifications: + items: + description: |- + Storage version of v1api20221001.AutoscaleNotification + Autoscale notification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + description: |- + Storage version of v1api20221001.EmailNotification + Email notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmails: + items: + type: string + type: array + sendToSubscriptionAdministrator: + type: boolean + sendToSubscriptionCoAdministrators: + type: boolean + type: object + operation: + type: string + webhooks: + items: + description: |- + Storage version of v1api20221001.WebhookNotification + Webhook notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + additionalProperties: + type: string + type: object + serviceUri: + type: string + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20221001.AutoscaleSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + predictiveAutoscalePolicy: + description: |- + Storage version of v1api20221001.PredictiveAutoscalePolicy + The parameters for enabling predictive autoscale. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scaleLookAheadTime: + type: string + scaleMode: + type: string + type: object + profiles: + items: + description: |- + Storage version of v1api20221001.AutoscaleProfile + Autoscale profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + description: |- + Storage version of v1api20221001.ScaleCapacity + The number of instances that can be used during this profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: string + maximum: + type: string + minimum: + type: string + type: object + fixedDate: + description: |- + Storage version of v1api20221001.TimeWindow + A specific date-time for the profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + timeZone: + type: string + type: object + name: + type: string + recurrence: + description: |- + Storage version of v1api20221001.Recurrence + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + schedule: + description: |- + Storage version of v1api20221001.RecurrentSchedule + The scheduling constraints for when the profile begins. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + items: + type: string + type: array + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + timeZone: + type: string + type: object + type: object + rules: + items: + description: |- + Storage version of v1api20221001.ScaleRule + A rule that provide the triggers and parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricTrigger: + description: |- + Storage version of v1api20221001.MetricTrigger + The trigger that results in a scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20221001.ScaleRuleMetricDimension + Specifies an auto scale rule metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + DimensionName: + type: string + Operator: + type: string + Values: + items: + type: string + type: array + type: object + type: array + dividePerInstance: + type: boolean + metricName: + type: string + metricNamespace: + type: string + metricResourceLocation: + type: string + metricResourceUriReference: + description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operator: + type: string + statistic: + type: string + threshold: + type: number + timeAggregation: + type: string + timeGrain: + type: string + timeWindow: + type: string + required: + - metricResourceUriReference + type: object + scaleAction: + description: |- + Storage version of v1api20221001.ScaleAction + The parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldown: + type: string + direction: + type: string + type: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + type: object + targetResourceLocation: + type: string + targetResourceUriReference: + description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20221001.Autoscalesetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + type: boolean + id: + type: string + location: + type: string + name: + type: string + notifications: + items: + description: |- + Storage version of v1api20221001.AutoscaleNotification_STATUS + Autoscale notification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + description: |- + Storage version of v1api20221001.EmailNotification_STATUS + Email notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmails: + items: + type: string + type: array + sendToSubscriptionAdministrator: + type: boolean + sendToSubscriptionCoAdministrators: + type: boolean + type: object + operation: + type: string + webhooks: + items: + description: |- + Storage version of v1api20221001.WebhookNotification_STATUS + Webhook notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + additionalProperties: + type: string + type: object + serviceUri: + type: string + type: object + type: array + type: object + type: array + predictiveAutoscalePolicy: + description: |- + Storage version of v1api20221001.PredictiveAutoscalePolicy_STATUS + The parameters for enabling predictive autoscale. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scaleLookAheadTime: + type: string + scaleMode: + type: string + type: object + profiles: + items: + description: |- + Storage version of v1api20221001.AutoscaleProfile_STATUS + Autoscale profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + description: |- + Storage version of v1api20221001.ScaleCapacity_STATUS + The number of instances that can be used during this profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: string + maximum: + type: string + minimum: + type: string + type: object + fixedDate: + description: |- + Storage version of v1api20221001.TimeWindow_STATUS + A specific date-time for the profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + timeZone: + type: string + type: object + name: + type: string + recurrence: + description: |- + Storage version of v1api20221001.Recurrence_STATUS + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + schedule: + description: |- + Storage version of v1api20221001.RecurrentSchedule_STATUS + The scheduling constraints for when the profile begins. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + items: + type: string + type: array + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + timeZone: + type: string + type: object + type: object + rules: + items: + description: |- + Storage version of v1api20221001.ScaleRule_STATUS + A rule that provide the triggers and parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricTrigger: + description: |- + Storage version of v1api20221001.MetricTrigger_STATUS + The trigger that results in a scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20221001.ScaleRuleMetricDimension_STATUS + Specifies an auto scale rule metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + DimensionName: + type: string + Operator: + type: string + Values: + items: + type: string + type: array + type: object + type: array + dividePerInstance: + type: boolean + metricName: + type: string + metricNamespace: + type: string + metricResourceLocation: + type: string + metricResourceUri: + type: string + operator: + type: string + statistic: + type: string + threshold: + type: number + timeAggregation: + type: string + timeGrain: + type: string + timeWindow: + type: string + type: object + scaleAction: + description: |- + Storage version of v1api20221001.ScaleAction_STATUS + The parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldown: + type: string + direction: + type: string + type: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + properties_name: + type: string + systemData: + description: |- + Storage version of v1api20221001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceLocation: + type: string + targetResourceUri: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: availabilitysets.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: AvailabilitySet + listKind: AvailabilitySetList + plural: availabilitysets + singular: availabilityset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-11-01/ComputeRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count.' + type: integer + platformUpdateDomainCount: + description: 'PlatformUpdateDomainCount: Update Domain count.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the availability set should be + assigned to. Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsPolicy: + description: |- + ScheduledEventsPolicy: Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related + configurations for the availability set. + properties: + scheduledEventsAdditionalPublishingTargets: + description: |- + ScheduledEventsAdditionalPublishingTargets: The configuration parameters used while publishing + scheduledEventsAdditionalPublishingTargets. + properties: + eventGridAndResourceGraph: + description: |- + EventGridAndResourceGraph: The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event + setting. + properties: + enable: + description: 'Enable: Specifies if event grid and resource graph is enabled for Scheduled event related configurations.' + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + UserInitiatedReboot: The configuration parameters used while creating userInitiatedReboot scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Reboot Scheduled Event related configurations.' + type: boolean + type: object + userInitiatedRedeploy: + description: |- + UserInitiatedRedeploy: The configuration parameters used while creating userInitiatedRedeploy scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Redeploy Scheduled Event related configurations.' + type: boolean + type: object + type: object + sku: + description: |- + Sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of + values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. + Default value is 'Classic'. + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: |- + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines + specified in the same availability set are allocated to different nodes to maximize availability. For more information + about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure + planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to + an availability set at creation time. An existing VM cannot be added to an availability set. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count.' + type: integer + platformUpdateDomainCount: + description: 'PlatformUpdateDomainCount: Update Domain count.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the availability set should be + assigned to. Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + scheduledEventsPolicy: + description: |- + ScheduledEventsPolicy: Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related + configurations for the availability set. + properties: + scheduledEventsAdditionalPublishingTargets: + description: |- + ScheduledEventsAdditionalPublishingTargets: The configuration parameters used while publishing + scheduledEventsAdditionalPublishingTargets. + properties: + eventGridAndResourceGraph: + description: |- + EventGridAndResourceGraph: The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event + setting. + properties: + enable: + description: 'Enable: Specifies if event grid and resource graph is enabled for Scheduled event related configurations.' + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + UserInitiatedReboot: The configuration parameters used while creating userInitiatedReboot scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Reboot Scheduled Event related configurations.' + type: boolean + type: object + userInitiatedRedeploy: + description: |- + UserInitiatedRedeploy: The configuration parameters used while creating userInitiatedRedeploy scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Redeploy Scheduled Event related configurations.' + type: boolean + type: object + type: object + sku: + description: |- + Sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of + values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. + Default value is 'Classic'. + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualMachineScaleSetMigrationInfo: + description: 'VirtualMachineScaleSetMigrationInfo: Describes the migration properties on the Availability Set.' + properties: + defaultVirtualMachineScaleSetInfo: + description: |- + DefaultVirtualMachineScaleSetInfo: Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless + migration without downtime of the VMs via the ConvertToVirtualMachineScaleSet API. + properties: + constrainedMaximumCapacity: + description: |- + ConstrainedMaximumCapacity: Indicates if the the maximum capacity of the default migrated Virtual Machine Scale Set + after its migration will be constrained to a limited number of VMs. + type: boolean + defaultVirtualMachineScaleSet: + description: |- + DefaultVirtualMachineScaleSet: The default Virtual Machine ScaleSet Uri that the Availability Set will be moved to upon + triggering a seamless migration via the ConvertToVirtualMachineScaleSet API. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + migrateToVirtualMachineScaleSet: + description: 'MigrateToVirtualMachineScaleSet: Specifies the Virtual Machine Scale Set that the Availability Set is migrated to.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + virtualMachines: + description: 'VirtualMachines: A list of references to all virtual machines in the availability set.' + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.AvailabilitySet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-11-01/ComputeRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.AvailabilitySet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20241101.AvailabilitySetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platformFaultDomainCount: + type: integer + platformUpdateDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20241101.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsPolicy: + description: |- + Storage version of v1api20241101.ScheduledEventsPolicy + Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduledEventsAdditionalPublishingTargets: + description: Storage version of v1api20241101.ScheduledEventsAdditionalPublishingTargets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventGridAndResourceGraph: + description: |- + Storage version of v1api20241101.EventGridAndResourceGraph + Specifies eventGridAndResourceGraph related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + Storage version of v1api20241101.UserInitiatedReboot + Specifies Reboot related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + userInitiatedRedeploy: + description: |- + Storage version of v1api20241101.UserInitiatedRedeploy + Specifies Redeploy related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + type: object + sku: + description: |- + Storage version of v1api20241101.Sku + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20241101.AvailabilitySet_STATUS + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines + specified in the same availability set are allocated to different nodes to maximize availability. For more information + about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure + planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to + an availability set at creation time. An existing VM cannot be added to an availability set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + platformFaultDomainCount: + type: integer + platformUpdateDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + scheduledEventsPolicy: + description: |- + Storage version of v1api20241101.ScheduledEventsPolicy_STATUS + Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduledEventsAdditionalPublishingTargets: + description: Storage version of v1api20241101.ScheduledEventsAdditionalPublishingTargets_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventGridAndResourceGraph: + description: |- + Storage version of v1api20241101.EventGridAndResourceGraph_STATUS + Specifies eventGridAndResourceGraph related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + Storage version of v1api20241101.UserInitiatedReboot_STATUS + Specifies Reboot related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + userInitiatedRedeploy: + description: |- + Storage version of v1api20241101.UserInitiatedRedeploy_STATUS + Specifies Redeploy related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + type: object + sku: + description: |- + Storage version of v1api20241101.Sku_STATUS + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + statuses: + items: + description: |- + Storage version of v1api20241101.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualMachineScaleSetMigrationInfo: + description: |- + Storage version of v1api20241101.VirtualMachineScaleSetMigrationInfo_STATUS + Describes the Availability Set properties related to migration to Flexible Virtual Machine Scale Set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultVirtualMachineScaleSetInfo: + description: |- + Storage version of v1api20241101.DefaultVirtualMachineScaleSetInfo_STATUS + Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless migration without downtime of the + VMs via the ConvertToVirtualMachineScaleSet API. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + constrainedMaximumCapacity: + type: boolean + defaultVirtualMachineScaleSet: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + migrateToVirtualMachineScaleSet: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + virtualMachines: + items: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: azurefirewalls.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: AzureFirewall + listKind: AzureFirewallList + plural: azurefirewalls + singular: azurefirewall + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/azureFirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalProperties: + additionalProperties: + type: string + description: 'AdditionalProperties: The additional properties used to further config this azure firewall.' + type: object + applicationRuleCollections: + description: 'ApplicationRuleCollections: Collection of application rule collections used by Azure Firewall.' + items: + description: Application rule collection resource. + properties: + action: + description: 'Action: The action type of a rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the application rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a application rule collection.' + items: + description: Properties of an application rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + name: + description: 'Name: Name of the application rule.' + type: string + protocols: + description: 'Protocols: Array of ApplicationRuleProtocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000. This field is optional.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + - Mssql + type: string + type: object + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + type: object + type: array + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Properties to provide a custom autoscale configuration to this azure firewall.' + properties: + maxCapacity: + description: |- + MaxCapacity: The maximum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + minimum: 2 + type: integer + minCapacity: + description: |- + MinCapacity: The minimum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + minimum: 2 + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 56 + minLength: 1 + type: string + firewallPolicy: + description: 'FirewallPolicy: The firewallPolicy associated with this azure firewall.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hubIPAddresses: + description: 'HubIPAddresses: IP addresses associated with AzureFirewall.' + properties: + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address associated with azure firewall.' + type: string + publicIPs: + description: 'PublicIPs: Public IP addresses associated with azure firewall.' + properties: + addresses: + description: 'Addresses: The list of Public IP addresses associated with azure firewall or IP addresses to be retained.' + items: + description: Public IP Address associated with azure firewall. + properties: + address: + description: 'Address: Public IP Address value.' + type: string + type: object + type: array + count: + description: 'Count: The number of Public IP addresses associated with azure firewall.' + type: integer + type: object + type: object + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Azure Firewall resource.' + items: + description: IP configuration of an Azure Firewall. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource. This field is a mandatory input if subnet is not null.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Subnet: Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or + 'AzureFirewallManagementSubnet'. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + managementIpConfiguration: + description: 'ManagementIpConfiguration: IP configuration of the Azure Firewall used for management traffic.' + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource. This field is a mandatory input if subnet is not null.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Subnet: Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or + 'AzureFirewallManagementSubnet'. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + natRuleCollections: + description: 'NatRuleCollections: Collection of NAT rule collections used by Azure Firewall.' + items: + description: NAT rule collection resource. + properties: + action: + description: 'Action: The action type of a NAT rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Dnat + - Snat + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the NAT rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a NAT rule collection.' + items: + description: Properties of a NAT rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + name: + description: 'Name: Name of the NAT rule.' + type: string + protocols: + description: 'Protocols: Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule.' + items: + description: The protocol of a Network Rule resource. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + type: array + type: object + type: array + networkRuleCollections: + description: 'NetworkRuleCollections: Collection of network rule collections used by Azure Firewall.' + items: + description: Network rule collection resource. + properties: + action: + description: 'Action: The action type of a rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the network rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a network rule collection.' + items: + description: Properties of the network rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + name: + description: 'Name: Name of the network rule.' + type: string + protocols: + description: 'Protocols: Array of AzureFirewallNetworkRuleProtocols.' + items: + description: The protocol of a Network Rule resource. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The Azure Firewall Resource SKU.' + properties: + name: + description: 'Name: Name of an Azure Firewall SKU.' + enum: + - AZFW_Hub + - AZFW_VNet + type: string + tier: + description: 'Tier: Tier of an Azure Firewall.' + enum: + - Basic + - Premium + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + enum: + - Alert + - Deny + - "Off" + type: string + virtualHub: + description: 'VirtualHub: The virtualHub to which the firewall belongs.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Azure Firewall resource. + properties: + additionalProperties: + additionalProperties: + type: string + description: 'AdditionalProperties: The additional properties used to further config this azure firewall.' + type: object + applicationRuleCollections: + description: 'ApplicationRuleCollections: Collection of application rule collections used by Azure Firewall.' + items: + description: Application rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Properties to provide a custom autoscale configuration to this azure firewall.' + properties: + maxCapacity: + description: |- + MaxCapacity: The maximum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + type: integer + minCapacity: + description: |- + MinCapacity: The minimum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + firewallPolicy: + description: 'FirewallPolicy: The firewallPolicy associated with this azure firewall.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + hubIPAddresses: + description: 'HubIPAddresses: IP addresses associated with AzureFirewall.' + properties: + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address associated with azure firewall.' + type: string + publicIPs: + description: 'PublicIPs: Public IP addresses associated with azure firewall.' + properties: + addresses: + description: 'Addresses: The list of Public IP addresses associated with azure firewall or IP addresses to be retained.' + items: + description: Public IP Address associated with azure firewall. + properties: + address: + description: 'Address: Public IP Address value.' + type: string + type: object + type: array + count: + description: 'Count: The number of Public IP addresses associated with azure firewall.' + type: integer + type: object + type: object + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Azure Firewall resource.' + items: + description: IP configuration of an Azure Firewall. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipGroups: + description: 'IpGroups: IpGroups associated with AzureFirewall.' + items: + description: IpGroups associated with azure firewall. + properties: + changeNumber: + description: 'ChangeNumber: The iteration number.' + type: string + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + managementIpConfiguration: + description: 'ManagementIpConfiguration: IP configuration of the Azure Firewall used for management traffic.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Resource name.' + type: string + natRuleCollections: + description: 'NatRuleCollections: Collection of NAT rule collections used by Azure Firewall.' + items: + description: NAT rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + networkRuleCollections: + description: 'NetworkRuleCollections: Collection of network rule collections used by Azure Firewall.' + items: + description: Network rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the Azure firewall resource.' + type: string + sku: + description: 'Sku: The Azure Firewall Resource SKU.' + properties: + name: + description: 'Name: Name of an Azure Firewall SKU.' + type: string + tier: + description: 'Tier: Tier of an Azure Firewall.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + type: string + type: + description: 'Type: Resource type.' + type: string + virtualHub: + description: 'VirtualHub: The virtualHub to which the firewall belongs.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.AzureFirewall + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/azureFirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.AzureFirewall_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + applicationRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleCollection + Application rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallRCAction + Properties of the AzureFirewallRCAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRule + Properties of an application rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + fqdnTags: + items: + type: string + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + type: object + type: array + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallAutoscaleConfiguration + Azure Firewall Autoscale Configuration parameters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + firewallPolicy: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hubIPAddresses: + description: |- + Storage version of v1api20240301.HubIPAddresses + IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIPAddress: + type: string + publicIPs: + description: |- + Storage version of v1api20240301.HubPublicIPAddresses + Public IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addresses: + items: + description: |- + Storage version of v1api20240301.AzureFirewallPublicIPAddress + Public IP Address associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + type: object + type: array + count: + type: integer + type: object + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + managementIpConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + natRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRuleCollection + NAT rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallNatRCAction + AzureFirewall NAT Rule Collection Action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRule + Properties of a NAT rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocols: + items: + type: string + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + type: array + type: object + type: array + networkRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRuleCollection + Network rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallRCAction + Properties of the AzureFirewallRCAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRule + Properties of the network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocols: + items: + type: string + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240301.AzureFirewallOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20240301.AzureFirewallSku + SKU of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + virtualHub: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.AzureFirewall_STATUS + Azure Firewall resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + applicationRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleCollection_STATUS + Application rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallAutoscaleConfiguration_STATUS + Azure Firewall Autoscale Configuration parameters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + firewallPolicy: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + hubIPAddresses: + description: |- + Storage version of v1api20240301.HubIPAddresses_STATUS + IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIPAddress: + type: string + publicIPs: + description: |- + Storage version of v1api20240301.HubPublicIPAddresses_STATUS + Public IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addresses: + items: + description: |- + Storage version of v1api20240301.AzureFirewallPublicIPAddress_STATUS + Public IP Address associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + type: object + type: array + count: + type: integer + type: object + type: object + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration_STATUS + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipGroups: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIpGroups_STATUS + IpGroups associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + changeNumber: + type: string + id: + type: string + type: object + type: array + location: + type: string + managementIpConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration_STATUS + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + natRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRuleCollection_STATUS + NAT rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + networkRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRuleCollection_STATUS + Network rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + sku: + description: |- + Storage version of v1api20240301.AzureFirewallSku_STATUS + SKU of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + type: + type: string + virtualHub: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: backends.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Backend + listKind: BackendList + plural: backends + singular: backend + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + type: string + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + maxLength: 300 + minLength: 1 + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + maxLength: 100 + minLength: 1 + type: string + required: + - parameter + - scheme + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + maxItems: 32 + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + maxItems: 32 + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + maxLength: 2000 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + required: + - managementEndpoints + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol.' + enum: + - http + - soap + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + password: + description: 'Password: Password to connect to the WebProxy Server' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + maxLength: 2000 + minLength: 1 + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + required: + - url + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + description: 'Title: Backend Title.' + maxLength: 300 + minLength: 1 + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + url: + description: 'Url: Runtime Url of the Backend.' + maxLength: 2000 + minLength: 1 + type: string + required: + - owner + - protocol + - url + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + type: string + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol.' + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + type: object + resourceId: + description: |- + ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + type: string + title: + description: 'Title: Backend Title.' + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + url: + description: 'Url: Runtime Url of the Backend.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Backend + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Backend_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + credentials: + description: |- + Storage version of v1api20220801.BackendCredentialsContract + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20220801.BackendAuthorizationHeaderCredentials + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.BackendOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20220801.BackendProperties + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20220801.BackendServiceFabricClusterProperties + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20220801.X509CertificateName + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20220801.BackendProxyContract + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + type: string + username: + type: string + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + type: string + tls: + description: |- + Storage version of v1api20220801.BackendTlsProperties + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + url: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Backend_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: |- + Storage version of v1api20220801.BackendCredentialsContract_STATUS + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20220801.BackendAuthorizationHeaderCredentials_STATUS + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20220801.BackendProperties_STATUS + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20220801.BackendServiceFabricClusterProperties_STATUS + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20220801.X509CertificateName_STATUS + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20220801.BackendProxyContract_STATUS + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + username: + type: string + type: object + resourceId: + type: string + title: + type: string + tls: + description: |- + Storage version of v1api20220801.BackendTlsProperties_STATUS + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + type: string + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + maxItems: 15 + type: array + type: object + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + maxLength: 300 + minLength: 1 + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + maxLength: 100 + minLength: 1 + type: string + required: + - parameter + - scheme + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + maxItems: 32 + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + maxItems: 32 + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + maxLength: 2000 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + minItems: 1 + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + required: + - managementEndpoints + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol. Required when backend type is ''Single''.' + enum: + - http + - soap + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + password: + description: 'Password: Password to connect to the WebProxy Server' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + maxLength: 2000 + minLength: 1 + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + required: + - url + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + description: 'Title: Backend Title.' + maxLength: 300 + minLength: 1 + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: Type of the backend. A backend can be either Single or Pool.' + enum: + - Pool + - Single + type: string + url: + description: 'Url: Runtime Url of the Backend. Required when backend type is ''Single''.' + maxLength: 2000 + minLength: 1 + type: string + required: + - owner + type: object + status: + properties: + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + type: string + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + id: + description: 'Id: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + type: string + required: + - id + type: object + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + type: object + type: object + properties_type: + description: 'PropertiesType: Type of the backend. A backend can be either Single or Pool.' + type: string + protocol: + description: 'Protocol: Backend communication protocol. Required when backend type is ''Single''.' + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + type: object + resourceId: + description: |- + ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + type: string + title: + description: 'Title: Backend Title.' + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + url: + description: 'Url: Runtime Url of the Backend. Required when backend type is ''Single''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Backend + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Backend_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + circuitBreaker: + description: |- + Storage version of v1api20230501preview.BackendCircuitBreaker + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230501preview.CircuitBreakerRule + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCondition: + description: |- + Storage version of v1api20230501preview.CircuitBreakerFailureCondition + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20230501preview.FailureStatusCodeRange + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + credentials: + description: |- + Storage version of v1api20230501preview.BackendCredentialsContract + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.BackendOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: |- + Storage version of v1api20230501preview.BackendPool + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20230501preview.BackendPoolItem + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20230501preview.BackendProperties + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20230501preview.BackendServiceFabricClusterProperties + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20230501preview.X509CertificateName + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20230501preview.BackendProxyContract + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + type: string + username: + type: string + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + type: string + tls: + description: |- + Storage version of v1api20230501preview.BackendTlsProperties + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Backend_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + circuitBreaker: + description: |- + Storage version of v1api20230501preview.BackendCircuitBreaker_STATUS + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230501preview.CircuitBreakerRule_STATUS + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCondition: + description: |- + Storage version of v1api20230501preview.CircuitBreakerFailureCondition_STATUS + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20230501preview.FailureStatusCodeRange_STATUS + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: |- + Storage version of v1api20230501preview.BackendCredentialsContract_STATUS + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials_STATUS + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + id: + type: string + name: + type: string + pool: + description: |- + Storage version of v1api20230501preview.BackendPool_STATUS + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20230501preview.BackendPoolItem_STATUS + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20230501preview.BackendProperties_STATUS + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20230501preview.BackendServiceFabricClusterProperties_STATUS + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20230501preview.X509CertificateName_STATUS + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + properties_type: + type: string + protocol: + type: string + proxy: + description: |- + Storage version of v1api20230501preview.BackendProxyContract_STATUS + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + username: + type: string + type: object + resourceId: + type: string + title: + type: string + tls: + description: |- + Storage version of v1api20230501preview.BackendTlsProperties_STATUS + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + type: string + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + acceptRetryAfter: + description: 'AcceptRetryAfter: flag to accept Retry-After header from the backend.' + type: boolean + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + maxItems: 15 + type: array + type: object + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + maxLength: 300 + minLength: 1 + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + maxLength: 100 + minLength: 1 + type: string + required: + - parameter + - scheme + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + maxItems: 32 + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + maxItems: 32 + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + maxLength: 2000 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + priority: + description: |- + Priority: The priority of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the + value not specified. + maximum: 100 + minimum: 0 + type: integer + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + weight: + description: |- + Weight: The weight of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the + value not specified. + maximum: 100 + minimum: 0 + type: integer + required: + - reference + type: object + minItems: 1 + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + required: + - managementEndpoints + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol. Required when backend type is ''Single''.' + enum: + - http + - soap + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + password: + description: 'Password: Password to connect to the WebProxy Server' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + maxLength: 2000 + minLength: 1 + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + required: + - url + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + description: 'Title: Backend Title.' + maxLength: 300 + minLength: 1 + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: Type of the backend. A backend can be either Single or Pool.' + enum: + - Pool + - Single + type: string + url: + description: 'Url: Runtime Url of the Backend. Required when backend type is ''Single''.' + maxLength: 2000 + minLength: 1 + type: string + required: + - owner + type: object + status: + properties: + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + acceptRetryAfter: + description: 'AcceptRetryAfter: flag to accept Retry-After header from the backend.' + type: boolean + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + type: string + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + id: + description: 'Id: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + type: string + priority: + description: |- + Priority: The priority of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the + value not specified. + maximum: 100 + minimum: 0 + type: integer + weight: + description: |- + Weight: The weight of the backend entity in the backend pool. Must be between 0 and 100. It can be also null if the + value not specified. + maximum: 100 + minimum: 0 + type: integer + required: + - id + type: object + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + type: object + type: object + properties_type: + description: 'PropertiesType: Type of the backend. A backend can be either Single or Pool.' + type: string + protocol: + description: 'Protocol: Backend communication protocol. Required when backend type is ''Single''.' + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + type: object + resourceId: + description: |- + ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + type: string + title: + description: 'Title: Backend Title.' + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + url: + description: 'Url: Runtime Url of the Backend. Required when backend type is ''Single''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Backend + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Backend_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + circuitBreaker: + description: |- + Storage version of v1api20240501.BackendCircuitBreaker + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20240501.CircuitBreakerRule + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptRetryAfter: + type: boolean + failureCondition: + description: |- + Storage version of v1api20240501.CircuitBreakerFailureCondition + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20240501.FailureStatusCodeRange + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + credentials: + description: |- + Storage version of v1api20240501.BackendCredentialsContract + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20240501.BackendAuthorizationHeaderCredentials + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.BackendOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: |- + Storage version of v1api20240501.BackendPool + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20240501.BackendPoolItem + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + priority: + type: integer + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + weight: + type: integer + required: + - reference + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20240501.BackendProperties + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20240501.BackendServiceFabricClusterProperties + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20240501.X509CertificateName + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20240501.BackendProxyContract + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + type: string + username: + type: string + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + type: string + tls: + description: |- + Storage version of v1api20240501.BackendTlsProperties + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Backend_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + circuitBreaker: + description: |- + Storage version of v1api20240501.BackendCircuitBreaker_STATUS + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20240501.CircuitBreakerRule_STATUS + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptRetryAfter: + type: boolean + failureCondition: + description: |- + Storage version of v1api20240501.CircuitBreakerFailureCondition_STATUS + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20240501.FailureStatusCodeRange_STATUS + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: |- + Storage version of v1api20240501.BackendCredentialsContract_STATUS + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20240501.BackendAuthorizationHeaderCredentials_STATUS + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + id: + type: string + name: + type: string + pool: + description: |- + Storage version of v1api20240501.BackendPool_STATUS + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20240501.BackendPoolItem_STATUS + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + priority: + type: integer + weight: + type: integer + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20240501.BackendProperties_STATUS + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20240501.BackendServiceFabricClusterProperties_STATUS + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20240501.X509CertificateName_STATUS + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + properties_type: + type: string + protocol: + type: string + proxy: + description: |- + Storage version of v1api20240501.BackendProxyContract_STATUS + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + username: + type: string + type: object + resourceId: + type: string + title: + type: string + tls: + description: |- + Storage version of v1api20240501.BackendTlsProperties_STATUS + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: backupvaults.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVault + listKind: BackupVaultList + plural: backupvaults + singular: backupvault + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + type: + description: 'Type: The identityType which can be either SystemAssigned or None' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + enum: + - Disabled + - Enabled + - PermanentlyDisabled + type: string + type: object + type: object + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + enum: + - Disabled + - Enabled + type: string + type: object + type: object + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + enum: + - AlwaysOn + - "Off" + - "On" + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + type: + description: 'Type: Gets or sets the type.' + enum: + - GeoRedundant + - LocallyRedundant + - ZoneRedundant + type: string + type: object + type: array + required: + - storageSettings + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + - properties + type: object + status: + description: Backup Vault Resource + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: 'ETag: Optional ETag.' + type: string + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + principalId: + description: |- + PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based + access to an Azure resource. + type: string + tenantId: + description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' + type: string + type: + description: 'Type: The identityType which can be either SystemAssigned or None' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' + type: boolean + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the BackupVault resource' + type: string + resourceMoveDetails: + description: 'ResourceMoveDetails: Resource move details for backup vault' + properties: + completionTimeUtc: + description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + operationId: + description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' + type: string + sourceResourcePath: + description: 'SourceResourcePath: ARM resource path of source resource' + type: string + startTimeUtc: + description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + targetResourcePath: + description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' + type: string + type: object + resourceMoveState: + description: 'ResourceMoveState: Resource move state for backup vault' + type: string + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + type: string + type: + description: 'Type: Gets or sets the type.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.BackupVault + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.BackupVault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20230101.DppIdentityDetails + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230101.BackupVaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230101.BackupVaultOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230101.BackupVaultSpec + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20230101.FeatureSettings + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20230101.CrossSubscriptionRestoreSettings + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + monitoringSettings: + description: |- + Storage version of v1api20230101.MonitoringSettings + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20230101.AzureMonitorAlertSettings + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + securitySettings: + description: |- + Storage version of v1api20230101.SecuritySettings + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20230101.ImmutabilitySettings + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20230101.SoftDeleteSettings + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20230101.StorageSetting + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230101.BackupVaultResource_STATUS + Backup Vault Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230101.DppIdentityDetails_STATUS + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230101.BackupVault_STATUS + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20230101.FeatureSettings_STATUS + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20230101.CrossSubscriptionRestoreSettings_STATUS + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + type: boolean + monitoringSettings: + description: |- + Storage version of v1api20230101.MonitoringSettings_STATUS + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20230101.AzureMonitorAlertSettings_STATUS + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + type: string + resourceMoveDetails: + description: |- + Storage version of v1api20230101.ResourceMoveDetails_STATUS + ResourceMoveDetails will be returned in response to GetResource call from ARM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionTimeUtc: + type: string + operationId: + type: string + sourceResourcePath: + type: string + startTimeUtc: + type: string + targetResourcePath: + type: string + type: object + resourceMoveState: + type: string + securitySettings: + description: |- + Storage version of v1api20230101.SecuritySettings_STATUS + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20230101.ImmutabilitySettings_STATUS + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20230101.SoftDeleteSettings_STATUS + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20230101.StorageSetting_STATUS + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20230101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + type: + description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossRegionRestoreSettings: + properties: + state: + description: 'State: CrossRegionRestore state' + enum: + - Disabled + - Enabled + type: string + type: object + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + enum: + - Disabled + - Enabled + - PermanentlyDisabled + type: string + type: object + type: object + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + enum: + - Disabled + - Enabled + type: string + type: object + type: object + replicatedRegions: + description: 'ReplicatedRegions: List of replicated regions for Backup Vault' + items: + type: string + type: array + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + enum: + - AlwaysOn + - "Off" + - "On" + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + type: + description: 'Type: Gets or sets the type.' + enum: + - GeoRedundant + - LocallyRedundant + - ZoneRedundant + type: string + type: object + type: array + required: + - storageSettings + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + - properties + type: object + status: + description: Backup Vault Resource + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: 'ETag: Optional ETag.' + type: string + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + principalId: + description: |- + PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based + access to an Azure resource. + type: string + tenantId: + description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' + type: string + type: + description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossRegionRestoreSettings: + properties: + state: + description: 'State: CrossRegionRestore state' + type: string + type: object + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' + type: boolean + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the BackupVault resource' + type: string + replicatedRegions: + description: 'ReplicatedRegions: List of replicated regions for Backup Vault' + items: + type: string + type: array + resourceMoveDetails: + description: 'ResourceMoveDetails: Resource move details for backup vault' + properties: + completionTimeUtc: + description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + operationId: + description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' + type: string + sourceResourcePath: + description: 'SourceResourcePath: ARM resource path of source resource' + type: string + startTimeUtc: + description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + targetResourcePath: + description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' + type: string + type: object + resourceMoveState: + description: 'ResourceMoveState: Resource move state for backup vault' + type: string + secureScore: + description: 'SecureScore: Secure Score of Backup Vault' + type: string + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + type: string + type: + description: 'Type: Gets or sets the type.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVault + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20231101.DppIdentityDetails + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231101.BackupVaultOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20231101.BackupVaultSpec + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20231101.FeatureSettings + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossRegionRestoreSettings: + description: Storage version of v1api20231101.CrossRegionRestoreSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20231101.CrossSubscriptionRestoreSettings + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + monitoringSettings: + description: |- + Storage version of v1api20231101.MonitoringSettings + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20231101.AzureMonitorAlertSettings + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + replicatedRegions: + items: + type: string + type: array + securitySettings: + description: |- + Storage version of v1api20231101.SecuritySettings + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20231101.ImmutabilitySettings + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20231101.SoftDeleteSettings + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20231101.StorageSetting + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20231101.BackupVaultResource_STATUS + Backup Vault Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20231101.DppIdentityDetails_STATUS + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20231101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20231101.BackupVault_STATUS + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20231101.FeatureSettings_STATUS + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossRegionRestoreSettings: + description: Storage version of v1api20231101.CrossRegionRestoreSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20231101.CrossSubscriptionRestoreSettings_STATUS + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + type: boolean + monitoringSettings: + description: |- + Storage version of v1api20231101.MonitoringSettings_STATUS + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20231101.AzureMonitorAlertSettings_STATUS + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + type: string + replicatedRegions: + items: + type: string + type: array + resourceMoveDetails: + description: |- + Storage version of v1api20231101.ResourceMoveDetails_STATUS + ResourceMoveDetails will be returned in response to GetResource call from ARM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionTimeUtc: + type: string + operationId: + type: string + sourceResourcePath: + type: string + startTimeUtc: + type: string + targetResourcePath: + type: string + type: object + resourceMoveState: + type: string + secureScore: + type: string + securitySettings: + description: |- + Storage version of v1api20231101.SecuritySettings_STATUS + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20231101.ImmutabilitySettings_STATUS + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20231101.SoftDeleteSettings_STATUS + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20231101.StorageSetting_STATUS + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: backupvaultsbackupinstances.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVaultsBackupInstance + listKind: BackupVaultsBackupInstanceList + plural: backupvaultsbackupinstances + singular: backupvaultsbackupinstance + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupInstanceResource properties' + properties: + dataSourceInfo: + description: 'DataSourceInfo: Gets or sets the data source information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - DefaultResourceProperties + type: string + required: + - objectType + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + required: + - resourceReference + type: object + dataSourceSetInfo: + description: 'DataSourceSetInfo: Gets or sets the data source set information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source set' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - DefaultResourceProperties + type: string + required: + - objectType + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + required: + - resourceReference + type: object + datasourceAuthCredentials: + description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' + properties: + secretStoreBasedAuthCredentials: + description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - SecretStoreBasedAuthCredentials + type: string + secretStoreResource: + description: 'SecretStoreResource: Secret store resource' + properties: + secretStoreType: + description: 'SecretStoreType: Gets or sets the type of secret store' + enum: + - AzureKeyVault + - Invalid + type: string + uri: + description: 'Uri: Uri to get to the resource' + type: string + value: + description: 'Value: Gets or sets value stored in secret store resource' + type: string + required: + - secretStoreType + type: object + required: + - objectType + type: object + type: object + friendlyName: + description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' + type: string + identityDetails: + description: |- + IdentityDetails: Contains information of the Identity Details for the BI. + If it is null, default will be considered as System Assigned. + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' + type: boolean + userAssignedIdentityArmUrl: + description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' + type: string + type: object + objectType: + type: string + policyInfo: + description: 'PolicyInfo: Gets or sets the policy information.' + properties: + policyParameters: + description: 'PolicyParameters: Policy parameters for the backup instance' + properties: + backupDatasourceParametersList: + description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' + items: + properties: + blobBackupDatasourceParameters: + description: 'Blob: Mutually exclusive with all other properties' + properties: + containersList: + description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - BlobBackupDatasourceParameters + type: string + required: + - containersList + - objectType + type: object + kubernetesClusterBackupDatasourceParameters: + description: 'KubernetesCluster: Mutually exclusive with all other properties' + properties: + backupHookReferences: + description: |- + BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed + during backup. + items: + description: Class to refer resources which contains namespace and name + properties: + name: + description: 'Name: Name of the resource' + type: string + namespace: + description: 'Namespace: Namespace in which the resource exists' + type: string + type: object + type: array + excludedNamespaces: + description: |- + ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded + during backup. + items: + type: string + type: array + excludedResourceTypes: + description: |- + ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be + excluded during backup. + items: + type: string + type: array + includeClusterScopeResources: + description: |- + IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include + cluster scope resources during backup. + type: boolean + includedNamespaces: + description: |- + IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included + during backup. + items: + type: string + type: array + includedResourceTypes: + description: |- + IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be + included during backup. + items: + type: string + type: array + labelSelectors: + description: |- + LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to + be included during backup. + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - KubernetesClusterBackupDatasourceParameters + type: string + snapshotVolumes: + description: |- + SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during + backup. + type: boolean + required: + - includeClusterScopeResources + - objectType + - snapshotVolumes + type: object + type: object + type: array + dataStoreParametersList: + description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' + items: + properties: + azureOperationalStoreParameters: + description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureOperationalStoreParameters + type: string + resourceGroupReference: + description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataStoreType + - objectType + type: object + type: object + type: array + type: object + policyReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - policyReference + type: object + validationType: + description: |- + ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API + will run again. + enum: + - DeepValidation + - ShallowValidation + type: string + required: + - dataSourceInfo + - objectType + - policyInfo + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Proxy Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Proxy Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Proxy Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupInstanceResource properties' + properties: + currentProtectionState: + description: 'CurrentProtectionState: Specifies the current protection state of the resource' + type: string + dataSourceInfo: + description: 'DataSourceInfo: Gets or sets the data source information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceID: + description: |- + ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the + ID created by backup service via Fabric/Vault. + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + type: object + dataSourceSetInfo: + description: 'DataSourceSetInfo: Gets or sets the data source set information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceID: + description: |- + ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the + ID created by backup service via Fabric/Vault. + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source set' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + type: object + datasourceAuthCredentials: + description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' + properties: + secretStoreBasedAuthCredentials: + description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + secretStoreResource: + description: 'SecretStoreResource: Secret store resource' + properties: + secretStoreType: + description: 'SecretStoreType: Gets or sets the type of secret store' + type: string + uri: + description: 'Uri: Uri to get to the resource' + type: string + value: + description: 'Value: Gets or sets value stored in secret store resource' + type: string + type: object + type: object + type: object + friendlyName: + description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' + type: string + identityDetails: + description: |- + IdentityDetails: Contains information of the Identity Details for the BI. + If it is null, default will be considered as System Assigned. + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' + type: boolean + userAssignedIdentityArmUrl: + description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' + type: string + type: object + objectType: + type: string + policyInfo: + description: 'PolicyInfo: Gets or sets the policy information.' + properties: + policyId: + type: string + policyParameters: + description: 'PolicyParameters: Policy parameters for the backup instance' + properties: + backupDatasourceParametersList: + description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' + items: + properties: + blobBackupDatasourceParameters: + description: 'Blob: Mutually exclusive with all other properties' + properties: + containersList: + description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: 'KubernetesCluster: Mutually exclusive with all other properties' + properties: + backupHookReferences: + description: |- + BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed + during backup. + items: + description: Class to refer resources which contains namespace and name + properties: + name: + description: 'Name: Name of the resource' + type: string + namespace: + description: 'Namespace: Namespace in which the resource exists' + type: string + type: object + type: array + excludedNamespaces: + description: |- + ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded + during backup. + items: + type: string + type: array + excludedResourceTypes: + description: |- + ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be + excluded during backup. + items: + type: string + type: array + includeClusterScopeResources: + description: |- + IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include + cluster scope resources during backup. + type: boolean + includedNamespaces: + description: |- + IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included + during backup. + items: + type: string + type: array + includedResourceTypes: + description: |- + IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be + included during backup. + items: + type: string + type: array + labelSelectors: + description: |- + LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to + be included during backup. + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + snapshotVolumes: + description: |- + SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during + backup. + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' + items: + properties: + azureOperationalStoreParameters: + description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + resourceGroupId: + description: 'ResourceGroupId: Gets or sets the Snapshot Resource Group Uri.' + type: string + type: object + type: object + type: array + type: object + policyVersion: + type: string + type: object + protectionErrorDetails: + description: 'ProtectionErrorDetails: Specifies the protection error of the resource' + properties: + code: + description: 'Code: Unique code for this error' + type: string + details: + description: 'Details: Additional related Errors' + items: + properties: + code: + description: 'Code: Unique code for this error' + type: string + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + type: array + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + protectionStatus: + description: 'ProtectionStatus: Specifies the protection status of the resource' + properties: + errorDetails: + description: 'ErrorDetails: Specifies the protection status error of the resource' + properties: + code: + description: 'Code: Unique code for this error' + type: string + details: + description: 'Details: Additional related Errors' + items: + properties: + code: + description: 'Code: Unique code for this error' + type: string + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + type: array + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + status: + description: 'Status: Specifies the protection status of the resource' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed' + type: string + validationType: + description: |- + ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API + will run again. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Proxy Resource tags.' + type: object + type: + description: 'Type: Proxy Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVaultsBackupInstance + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVaultsBackupInstance_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultsBackupInstanceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20231101.BackupInstance + Backup Instance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataSourceInfo: + description: |- + Storage version of v1api20231101.Datasource + Datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + type: string + resourceUri: + type: string + required: + - resourceReference + type: object + dataSourceSetInfo: + description: |- + Storage version of v1api20231101.DatasourceSet + DatasourceSet details of datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + type: string + resourceUri: + type: string + required: + - resourceReference + type: object + datasourceAuthCredentials: + description: Storage version of v1api20231101.AuthCredentials + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreBasedAuthCredentials: + description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + secretStoreResource: + description: |- + Storage version of v1api20231101.SecretStoreResource + Class representing a secret store resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreType: + type: string + uri: + type: string + value: + type: string + type: object + type: object + type: object + friendlyName: + type: string + identityDetails: + description: Storage version of v1api20231101.IdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + type: boolean + userAssignedIdentityArmUrl: + type: string + type: object + objectType: + type: string + policyInfo: + description: |- + Storage version of v1api20231101.PolicyInfo + Policy Info in backupInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + policyParameters: + description: |- + Storage version of v1api20231101.PolicyParameters + Parameters in Policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupDatasourceParametersList: + items: + description: Storage version of v1api20231101.BackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobBackupDatasourceParameters: + description: Storage version of v1api20231101.BlobBackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containersList: + items: + type: string + type: array + objectType: + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupHookReferences: + items: + description: |- + Storage version of v1api20231101.NamespacedNameResource + Class to refer resources which contains namespace and name + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + type: array + excludedNamespaces: + items: + type: string + type: array + excludedResourceTypes: + items: + type: string + type: array + includeClusterScopeResources: + type: boolean + includedNamespaces: + items: + type: string + type: array + includedResourceTypes: + items: + type: string + type: array + labelSelectors: + items: + type: string + type: array + objectType: + type: string + snapshotVolumes: + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + items: + description: Storage version of v1api20231101.DataStoreParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOperationalStoreParameters: + description: Storage version of v1api20231101.AzureOperationalStoreParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + resourceGroupReference: + description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + policyReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - policyReference + type: object + validationType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231101.BackupVaultsBackupInstance_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20231101.BackupInstance_STATUS + Backup Instance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentProtectionState: + type: string + dataSourceInfo: + description: |- + Storage version of v1api20231101.Datasource_STATUS + Datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceID: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceType: + type: string + resourceUri: + type: string + type: object + dataSourceSetInfo: + description: |- + Storage version of v1api20231101.DatasourceSet_STATUS + DatasourceSet details of datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceID: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceType: + type: string + resourceUri: + type: string + type: object + datasourceAuthCredentials: + description: Storage version of v1api20231101.AuthCredentials_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreBasedAuthCredentials: + description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + secretStoreResource: + description: |- + Storage version of v1api20231101.SecretStoreResource_STATUS + Class representing a secret store resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreType: + type: string + uri: + type: string + value: + type: string + type: object + type: object + type: object + friendlyName: + type: string + identityDetails: + description: Storage version of v1api20231101.IdentityDetails_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + type: boolean + userAssignedIdentityArmUrl: + type: string + type: object + objectType: + type: string + policyInfo: + description: |- + Storage version of v1api20231101.PolicyInfo_STATUS + Policy Info in backupInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + policyId: + type: string + policyParameters: + description: |- + Storage version of v1api20231101.PolicyParameters_STATUS + Parameters in Policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupDatasourceParametersList: + items: + description: Storage version of v1api20231101.BackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobBackupDatasourceParameters: + description: Storage version of v1api20231101.BlobBackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containersList: + items: + type: string + type: array + objectType: + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupHookReferences: + items: + description: |- + Storage version of v1api20231101.NamespacedNameResource_STATUS + Class to refer resources which contains namespace and name + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + type: array + excludedNamespaces: + items: + type: string + type: array + excludedResourceTypes: + items: + type: string + type: array + includeClusterScopeResources: + type: boolean + includedNamespaces: + items: + type: string + type: array + includedResourceTypes: + items: + type: string + type: array + labelSelectors: + items: + type: string + type: array + objectType: + type: string + snapshotVolumes: + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + items: + description: Storage version of v1api20231101.DataStoreParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOperationalStoreParameters: + description: Storage version of v1api20231101.AzureOperationalStoreParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + resourceGroupId: + type: string + type: object + type: object + type: array + type: object + policyVersion: + type: string + type: object + protectionErrorDetails: + description: |- + Storage version of v1api20231101.UserFacingError_STATUS + Error object used by layers that have access to localized content, and propagate that to user + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + type: array + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + protectionStatus: + description: |- + Storage version of v1api20231101.ProtectionStatusDetails_STATUS + Protection status details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorDetails: + description: |- + Storage version of v1api20231101.UserFacingError_STATUS + Error object used by layers that have access to localized content, and propagate that to user + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + type: array + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + status: + type: string + type: object + provisioningState: + type: string + validationType: + type: string + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: backupvaultsbackuppolicies.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVaultsBackupPolicy + listKind: BackupVaultsBackupPolicyList + plural: backupvaultsbackuppolicies + singular: backupvaultsbackuppolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + enum: + - BackupPolicy + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureBackupParams + type: string + required: + - backupType + - objectType + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + name: + type: string + objectType: + enum: + - AzureBackupRule + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AdhocBasedTriggerContext + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + type: object + required: + - objectType + - taggingCriteria + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedTriggerContext + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: |- + RepeatingTimeIntervals: Repeating time interval which only support the following ISO 8601 format + [R/startDateTime/Duration]. Example: R/2007-03-01T13:00:00Z/P1Y2M10DT2H30M + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + required: + - repeatingTimeIntervals + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + enum: + - AllBackup + - FirstOfDay + - FirstOfMonth + - FirstOfWeek + - FirstOfYear + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + enum: + - April + - August + - December + - February + - January + - July + - June + - March + - May + - November + - October + - September + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedBackupCriteria + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + type: array + required: + - objectType + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + required: + - isDefault + - tagInfo + - taggingPriority + type: object + type: array + required: + - objectType + - schedule + - taggingCriteria + type: object + type: object + required: + - dataStore + - name + - objectType + - trigger + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AbsoluteDeleteOption + type: string + required: + - duration + - objectType + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CopyOnExpiryOption + type: string + required: + - objectType + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CustomCopyOption + type: string + required: + - objectType + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ImmediateCopyOption + type: string + required: + - objectType + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + required: + - copyAfter + - dataStore + type: object + type: array + required: + - deleteAfter + - sourceDataStore + type: object + type: array + name: + type: string + objectType: + enum: + - AzureRetentionRule + type: string + required: + - lifecycles + - name + - objectType + type: object + type: object + type: array + required: + - datasourceTypes + - objectType + - policyRules + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: |- + RepeatingTimeIntervals: Repeating time interval which only support the following ISO 8601 format + [R/startDateTime/Duration]. Example: R/2007-03-01T13:00:00Z/P1Y2M10DT2H30M + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.BackupVaultsBackupPolicy + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.BackupVaultsBackupPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230101.BackupVaultsBackupPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20230101.BaseBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20230101.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20230101.BasePolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20230101.AzureBackupRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20230101.BackupParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20230101.AzureBackupParams + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20230101.TriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20230101.AdhocBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20230101.AdhocBasedTaggingCriteria + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20230101.ScheduleBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20230101.BackupSchedule + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20230101.TaggingCriteria + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20230101.BackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20230101.ScheduleBasedBackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20230101.Day + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20230101.AzureRetentionRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20230101.SourceLifeCycle + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20230101.DeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20230101.AbsoluteDeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20230101.TargetCopySetting + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20230101.CopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20230101.CopyOnExpiryOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20230101.CustomCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20230101.ImmediateCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.BackupVaultsBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: Storage version of v1api20230101.BaseBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20230101.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20230101.BasePolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20230101.AzureBackupRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20230101.BackupParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20230101.AzureBackupParams_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20230101.TriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20230101.AdhocBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20230101.AdhocBasedTaggingCriteria_STATUS + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20230101.ScheduleBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20230101.BackupSchedule_STATUS + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20230101.TaggingCriteria_STATUS + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20230101.BackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20230101.ScheduleBasedBackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20230101.Day_STATUS + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20230101.AzureRetentionRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20230101.SourceLifeCycle_STATUS + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20230101.DeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20230101.AbsoluteDeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20230101.TargetCopySetting_STATUS + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20230101.CopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20230101.CopyOnExpiryOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20230101.CustomCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20230101.ImmediateCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20230101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + enum: + - BackupPolicy + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureBackupParams + type: string + required: + - backupType + - objectType + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + name: + type: string + objectType: + enum: + - AzureBackupRule + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AdhocBasedTriggerContext + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + type: object + required: + - objectType + - taggingCriteria + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedTriggerContext + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: |- + RepeatingTimeIntervals: Repeating time interval which only support the following ISO 8601 format + [R/startDateTime/Duration]. Example: R/2007-03-01T13:00:00Z/P1Y2M10DT2H30M + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + required: + - repeatingTimeIntervals + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + enum: + - AllBackup + - FirstOfDay + - FirstOfMonth + - FirstOfWeek + - FirstOfYear + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + enum: + - April + - August + - December + - February + - January + - July + - June + - March + - May + - November + - October + - September + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedBackupCriteria + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + type: array + required: + - objectType + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + required: + - isDefault + - tagInfo + - taggingPriority + type: object + type: array + required: + - objectType + - schedule + - taggingCriteria + type: object + type: object + required: + - dataStore + - name + - objectType + - trigger + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AbsoluteDeleteOption + type: string + required: + - duration + - objectType + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CopyOnExpiryOption + type: string + required: + - objectType + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CustomCopyOption + type: string + required: + - objectType + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ImmediateCopyOption + type: string + required: + - objectType + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + required: + - copyAfter + - dataStore + type: object + type: array + required: + - deleteAfter + - sourceDataStore + type: object + type: array + name: + type: string + objectType: + enum: + - AzureRetentionRule + type: string + required: + - lifecycles + - name + - objectType + type: object + type: object + type: array + required: + - datasourceTypes + - objectType + - policyRules + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: |- + RepeatingTimeIntervals: Repeating time interval which only support the following ISO 8601 format + [R/startDateTime/Duration]. Example: R/2007-03-01T13:00:00Z/P1Y2M10DT2H30M + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVaultsBackupPolicy + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVaultsBackupPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultsBackupPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20231101.BaseBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20231101.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20231101.BasePolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20231101.AzureBackupRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20231101.BackupParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20231101.AzureBackupParams + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20231101.TriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20231101.AdhocBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20231101.AdhocBasedTaggingCriteria + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20231101.ScheduleBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20231101.BackupSchedule + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20231101.TaggingCriteria + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20231101.BackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20231101.ScheduleBasedBackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20231101.Day + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20231101.AzureRetentionRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20231101.SourceLifeCycle + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20231101.DeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20231101.AbsoluteDeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20231101.TargetCopySetting + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20231101.CopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20231101.CopyOnExpiryOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20231101.CustomCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20231101.ImmediateCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231101.BackupVaultsBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: Storage version of v1api20231101.BaseBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20231101.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20231101.BasePolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20231101.AzureBackupRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20231101.BackupParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20231101.AzureBackupParams_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20231101.TriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20231101.AdhocBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20231101.AdhocBasedTaggingCriteria_STATUS + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20231101.ScheduleBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20231101.BackupSchedule_STATUS + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20231101.TaggingCriteria_STATUS + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20231101.BackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20231101.ScheduleBasedBackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20231101.Day_STATUS + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20231101.AzureRetentionRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20231101.SourceLifeCycle_STATUS + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20231101.DeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20231101.AbsoluteDeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20231101.TargetCopySetting_STATUS + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20231101.CopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20231101.CopyOnExpiryOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20231101.CustomCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20231101.ImmediateCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: bastionhosts.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: BastionHost + listKind: BastionHostList + plural: bastionhosts + singular: bastionhost + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference of the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference of the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - publicIPAddress + - subnet + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + maximum: 50 + minimum: 2 + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of this Bastion Host.' + enum: + - Basic + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Bastion Host resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the bastion host resource.' + type: string + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of this Bastion Host.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.BastionHost + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.BastionHost_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.BastionHostIPConfiguration + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.BastionHostOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20220701.Sku + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.BastionHost_STATUS + Bastion Host resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + etag: + type: string + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.BastionHostIPConfiguration_STATUS + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + provisioningState: + type: string + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20220701.Sku_STATUS + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableKerberos: + description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' + type: boolean + enableSessionRecording: + description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference of the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference of the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - publicIPAddress + - subnet + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + networkAcls: + properties: + ipRules: + description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' + items: + properties: + addressPrefix: + description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + maximum: 50 + minimum: 2 + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of the sku of this Bastion Host.' + enum: + - Basic + - Developer + - Premium + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Bastion Host resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableKerberos: + description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' + type: boolean + enableSessionRecording: + description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkAcls: + properties: + ipRules: + description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' + items: + properties: + addressPrefix: + description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the bastion host resource.' + type: string + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of the sku of this Bastion Host.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.BastionHost + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.BastionHost_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableKerberos: + type: boolean + enableSessionRecording: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.BastionHostIPConfiguration + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + networkAcls: + description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: Storage version of v1api20240301.IPRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.BastionHostOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20240301.Sku + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.BastionHost_STATUS + Bastion Host resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableKerberos: + type: boolean + enableSessionRecording: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + etag: + type: string + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.BastionHostIPConfiguration_STATUS + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + networkAcls: + description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: Storage version of v1api20240301.IPRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + type: object + type: array + type: object + provisioningState: + type: string + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20240301.Sku_STATUS + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: batchaccounts.batch.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: batch.azure.com + names: + categories: + - azure + - batch + kind: BatchAccount + listKind: BatchAccountList + plural: batchaccounts + singular: batchaccount + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoStorage: + description: 'AutoStorage: The properties related to the auto-storage account.' + properties: + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - storageAccountReference + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 3 + pattern: ^[a-z0-9]+$ + type: string + encryption: + description: |- + Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using + a Microsoft managed key. For additional control, a customer-managed key can be used instead. + properties: + keySource: + description: 'KeySource: Type of the key source.' + enum: + - Microsoft.Batch + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' + properties: + keyIdentifier: + description: |- + KeyIdentifier: Full path to the versioned secret. Example + https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following + prerequisites must be met: + The Batch Account has a System Assigned identity + The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions + The KeyVault has soft-delete and purge protection enabled + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the Batch account.' + properties: + type: + description: 'Type: The type of identity used for the Batch account.' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultReference: + description: 'KeyVaultReference: A reference to the Azure key vault associated with the Batch account.' + properties: + reference: + description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + url: + description: 'Url: The URL of the Azure key vault associated with the Batch account.' + type: string + required: + - reference + - url + type: object + location: + description: 'Location: The region in which to create the account.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + poolAllocationMode: + description: |- + PoolAllocationMode: The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the + mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is + UserSubscription, clients must use Azure Active Directory. The default is BatchService. + enum: + - BatchService + - UserSubscription + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The user-specified tags associated with the account.' + type: object + required: + - location + - owner + type: object + status: + description: Contains information about an Azure Batch account. + properties: + accountEndpoint: + description: 'AccountEndpoint: The account endpoint used to interact with the Batch service.' + type: string + activeJobAndJobScheduleQuota: + type: integer + autoStorage: + description: 'AutoStorage: Contains information about the auto-storage account associated with a Batch account.' + properties: + lastKeySync: + description: 'LastKeySync: The UTC time at which storage keys were last synchronized with the Batch account.' + type: string + storageAccountId: + description: 'StorageAccountId: The resource ID of the storage account to be used for auto-storage account.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dedicatedCoreQuota: + description: |- + DedicatedCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription + so this value is not returned. + type: integer + dedicatedCoreQuotaPerVMFamily: + description: |- + DedicatedCoreQuotaPerVMFamily: A list of the dedicated core quota per Virtual Machine family for the Batch account. For + accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not + returned. + items: + description: A VM Family and its associated core quota for the Batch account. + properties: + coreQuota: + description: 'CoreQuota: The core quota for the VM family for the Batch account.' + type: integer + name: + description: 'Name: The Virtual Machine family name.' + type: string + type: object + type: array + dedicatedCoreQuotaPerVMFamilyEnforced: + description: |- + DedicatedCoreQuotaPerVMFamilyEnforced: Batch is transitioning its core quota system for dedicated cores to be enforced + per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not + yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the + account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the + dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply. + type: boolean + encryption: + description: |- + Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using + a Microsoft managed key. For additional control, a customer-managed key can be used instead. + properties: + keySource: + description: 'KeySource: Type of the key source.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' + properties: + keyIdentifier: + description: |- + KeyIdentifier: Full path to the versioned secret. Example + https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following + prerequisites must be met: + The Batch Account has a System Assigned identity + The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions + The KeyVault has soft-delete and purge protection enabled + type: string + type: object + type: object + id: + description: 'Id: The ID of the resource.' + type: string + identity: + description: 'Identity: The identity of the Batch account.' + properties: + principalId: + description: 'PrincipalId: The principal id of the Batch account. This property will only be provided for a system assigned identity.' + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the Batch account. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: The type of identity used for the Batch account.' + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultReference: + description: 'KeyVaultReference: Identifies the Azure key vault associated with a Batch account.' + properties: + id: + description: 'Id: The resource ID of the Azure key vault associated with the Batch account.' + type: string + url: + description: 'Url: The URL of the Azure key vault associated with the Batch account.' + type: string + type: object + location: + description: 'Location: The location of the resource.' + type: string + lowPriorityCoreQuota: + description: |- + LowPriorityCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription + so this value is not returned. + type: integer + name: + description: 'Name: The name of the resource.' + type: string + poolAllocationMode: + description: 'PoolAllocationMode: The allocation mode for creating pools in the Batch account.' + type: string + poolQuota: + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the Batch account' + items: + description: Contains information about a private link resource. + properties: + id: + description: 'Id: The ID of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101.BatchAccount + Generator information: + - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101.BatchAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoStorage: + description: |- + Storage version of v1api20210101.AutoStorageBaseProperties + The properties related to the auto-storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - storageAccountReference + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20210101.EncryptionProperties + Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft + managed key. For additional control, a customer-managed key can be used instead. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20210101.KeyVaultProperties + KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyIdentifier: + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20210101.BatchAccountIdentity + The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as + their Batch account encryption configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultReference: + description: |- + Storage version of v1api20210101.KeyVaultReference + Identifies the Azure key vault associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + url: + type: string + required: + - reference + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210101.BatchAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + poolAllocationMode: + type: string + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210101.BatchAccount_STATUS + Contains information about an Azure Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountEndpoint: + type: string + activeJobAndJobScheduleQuota: + type: integer + autoStorage: + description: |- + Storage version of v1api20210101.AutoStorageProperties_STATUS + Contains information about the auto-storage account associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastKeySync: + type: string + storageAccountId: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dedicatedCoreQuota: + type: integer + dedicatedCoreQuotaPerVMFamily: + items: + description: |- + Storage version of v1api20210101.VirtualMachineFamilyCoreQuota_STATUS + A VM Family and its associated core quota for the Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + coreQuota: + type: integer + name: + type: string + type: object + type: array + dedicatedCoreQuotaPerVMFamilyEnforced: + type: boolean + encryption: + description: |- + Storage version of v1api20210101.EncryptionProperties_STATUS + Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft + managed key. For additional control, a customer-managed key can be used instead. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20210101.KeyVaultProperties_STATUS + KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyIdentifier: + type: string + type: object + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210101.BatchAccountIdentity_STATUS + The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as + their Batch account encryption configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210101.BatchAccountIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultReference: + description: |- + Storage version of v1api20210101.KeyVaultReference_STATUS + Identifies the Azure key vault associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + url: + type: string + type: object + location: + type: string + lowPriorityCoreQuota: + type: integer + name: + type: string + poolAllocationMode: + type: string + poolQuota: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210101.PrivateEndpointConnection_STATUS + Contains information about a private link resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: clusters.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + enum: + - V2 + - V3 + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + enum: + - Python3_10_8 + - Python3_10_8_DL + - Python3_6_5 + - PythonCustomImage + - R + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + enum: + - PYTHON + - R + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + required: + - isEnabled + - maximum + - minimum + - version + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + enum: + - DualStack + - IPv4 + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + enum: + - Dev(No SLA)_Standard_D11_v2 + - Dev(No SLA)_Standard_E2a_v4 + - Standard_D11_v2 + - Standard_D12_v2 + - Standard_D13_v2 + - Standard_D14_v2 + - Standard_D16d_v5 + - Standard_D32d_v4 + - Standard_D32d_v5 + - Standard_DS13_v2+1TB_PS + - Standard_DS13_v2+2TB_PS + - Standard_DS14_v2+3TB_PS + - Standard_DS14_v2+4TB_PS + - Standard_E16a_v4 + - Standard_E16ads_v5 + - Standard_E16as_v4+3TB_PS + - Standard_E16as_v4+4TB_PS + - Standard_E16as_v5+3TB_PS + - Standard_E16as_v5+4TB_PS + - Standard_E16d_v4 + - Standard_E16d_v5 + - Standard_E16s_v4+3TB_PS + - Standard_E16s_v4+4TB_PS + - Standard_E16s_v5+3TB_PS + - Standard_E16s_v5+4TB_PS + - Standard_E2a_v4 + - Standard_E2ads_v5 + - Standard_E2d_v4 + - Standard_E2d_v5 + - Standard_E4a_v4 + - Standard_E4ads_v5 + - Standard_E4d_v4 + - Standard_E4d_v5 + - Standard_E64i_v3 + - Standard_E80ids_v4 + - Standard_E8a_v4 + - Standard_E8ads_v5 + - Standard_E8as_v4+1TB_PS + - Standard_E8as_v4+2TB_PS + - Standard_E8as_v5+1TB_PS + - Standard_E8as_v5+2TB_PS + - Standard_E8d_v4 + - Standard_E8d_v5 + - Standard_E8s_v4+1TB_PS + - Standard_E8s_v4+2TB_PS + - Standard_E8s_v5+1TB_PS + - Standard_E8s_v5+2TB_PS + - Standard_EC16ads_v5 + - Standard_EC16as_v5+3TB_PS + - Standard_EC16as_v5+4TB_PS + - Standard_EC8ads_v5 + - Standard_EC8as_v5+1TB_PS + - Standard_EC8as_v5+2TB_PS + - Standard_L16as_v3 + - Standard_L16s + - Standard_L16s_v2 + - Standard_L16s_v3 + - Standard_L32as_v3 + - Standard_L32s_v3 + - Standard_L4s + - Standard_L8as_v3 + - Standard_L8s + - Standard_L8s_v2 + - Standard_L8s_v3 + type: string + tier: + description: 'Tier: SKU tier.' + enum: + - Basic + - Standard + type: string + required: + - name + - tier + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: 'VirtualClusterGraduationProperties: Virtual Cluster graduation properties' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + description: Class representing a Kusto cluster. + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + description: 'DataIngestionUri: The cluster data ingestion URI.' + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + migrationCluster: + description: 'MigrationCluster: Properties of the peer cluster involved in a migration to/from this cluster.' + properties: + dataIngestionUri: + description: 'DataIngestionUri: The public data ingestion URL of the cluster.' + type: string + id: + description: 'Id: The resource ID of the cluster.' + type: string + role: + description: 'Role: The role of the cluster in the migration process.' + type: string + uri: + description: 'Uri: The public URL of the cluster.' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: A list of private endpoint connections.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + type: string + tier: + description: 'Tier: SKU tier.' + type: string + type: object + state: + description: 'State: The state of the resource.' + type: string + stateReason: + description: 'StateReason: The reason for the cluster''s current state.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uri: + description: 'Uri: The cluster URI.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpId: + description: 'DataManagementPublicIpId: Data management''s service public IP address resource id.' + type: string + enginePublicIpId: + description: 'EnginePublicIpId: Engine service''s public IP address resource id.' + type: string + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + type: string + subnetId: + description: 'SubnetId: The subnet resource id.' + type: string + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230815.Cluster + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230815.Cluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20230815.AcceptedAudiences + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + identity: + description: |- + Storage version of v1api20230815.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230815.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: |- + Storage version of v1api20230815.LanguageExtensionsList + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20230815.LanguageExtension + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230815.ClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: |- + Storage version of v1api20230815.OptimizedAutoscale + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230815.AzureSku + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20230815.TrustedExternalTenant + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230815.VirtualNetworkConfiguration + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230815.Cluster_STATUS + Class representing a Kusto cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20230815.AcceptedAudiences_STATUS + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230815.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230815.Identity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + languageExtensions: + description: |- + Storage version of v1api20230815.LanguageExtensionsList_STATUS + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20230815.LanguageExtension_STATUS + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + migrationCluster: + description: |- + Storage version of v1api20230815.MigrationClusterProperties_STATUS + Represents a properties of a cluster that is part of a migration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataIngestionUri: + type: string + id: + type: string + role: + type: string + uri: + type: string + type: object + name: + type: string + optimizedAutoscale: + description: |- + Storage version of v1api20230815.OptimizedAutoscale_STATUS + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230815.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230815.AzureSku_STATUS + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + state: + type: string + stateReason: + type: string + systemData: + description: |- + Storage version of v1api20230815.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20230815.TrustedExternalTenant_STATUS + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: + type: string + uri: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230815.VirtualNetworkConfiguration_STATUS + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpId: + type: string + enginePublicIpId: + type: string + state: + type: string + subnetId: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + calloutPolicies: + description: 'CalloutPolicies: List of callout policies for egress from Cluster.' + items: + description: Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + calloutType: + description: 'CalloutType: Type of the callout service, specifying the kind of external resource or service being accessed.' + enum: + - azure_digital_twins + - azure_openai + - cosmosdb + - external_data + - genevametrics + - kusto + - mysql + - postgresql + - sandbox_artifacts + - sql + - webapi + type: string + calloutUriRegex: + description: 'CalloutUriRegex: Regular expression or FQDN pattern for the callout URI.' + type: string + outboundAccess: + description: 'OutboundAccess: Indicates whether outbound access is permitted for the specified URI pattern.' + enum: + - Allow + - Deny + type: string + type: object + type: array + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + enum: + - V2 + - V3 + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + enum: + - Python3_10_8 + - Python3_10_8_DL + - Python3_11_7 + - Python3_11_7_DL + - Python3_6_5 + - PythonCustomImage + - R + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + enum: + - PYTHON + - R + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + clusterPrincipalId: + description: |- + ClusterPrincipalId: indicates where the clusterPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + clusterTenantId: + description: |- + ClusterTenantId: indicates where the clusterTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + required: + - isEnabled + - maximum + - minimum + - version + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + enum: + - DualStack + - IPv4 + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + enum: + - Dev(No SLA)_Standard_D11_v2 + - Dev(No SLA)_Standard_E2a_v4 + - Standard_D11_v2 + - Standard_D12_v2 + - Standard_D13_v2 + - Standard_D14_v2 + - Standard_D16d_v5 + - Standard_D32d_v4 + - Standard_D32d_v5 + - Standard_DS13_v2+1TB_PS + - Standard_DS13_v2+2TB_PS + - Standard_DS14_v2+3TB_PS + - Standard_DS14_v2+4TB_PS + - Standard_E16a_v4 + - Standard_E16ads_v5 + - Standard_E16as_v4+3TB_PS + - Standard_E16as_v4+4TB_PS + - Standard_E16as_v5+3TB_PS + - Standard_E16as_v5+4TB_PS + - Standard_E16d_v4 + - Standard_E16d_v5 + - Standard_E16s_v4+3TB_PS + - Standard_E16s_v4+4TB_PS + - Standard_E16s_v5+3TB_PS + - Standard_E16s_v5+4TB_PS + - Standard_E2a_v4 + - Standard_E2ads_v5 + - Standard_E2d_v4 + - Standard_E2d_v5 + - Standard_E4a_v4 + - Standard_E4ads_v5 + - Standard_E4d_v4 + - Standard_E4d_v5 + - Standard_E64i_v3 + - Standard_E80ids_v4 + - Standard_E8a_v4 + - Standard_E8ads_v5 + - Standard_E8as_v4+1TB_PS + - Standard_E8as_v4+2TB_PS + - Standard_E8as_v5+1TB_PS + - Standard_E8as_v5+2TB_PS + - Standard_E8d_v4 + - Standard_E8d_v5 + - Standard_E8s_v4+1TB_PS + - Standard_E8s_v4+2TB_PS + - Standard_E8s_v5+1TB_PS + - Standard_E8s_v5+2TB_PS + - Standard_EC16ads_v5 + - Standard_EC16as_v5+3TB_PS + - Standard_EC16as_v5+4TB_PS + - Standard_EC8ads_v5 + - Standard_EC8as_v5+1TB_PS + - Standard_EC8as_v5+2TB_PS + - Standard_L16as_v3 + - Standard_L16s + - Standard_L16s_v2 + - Standard_L16s_v3 + - Standard_L32as_v3 + - Standard_L32s_v3 + - Standard_L4s + - Standard_L8as_v3 + - Standard_L8s + - Standard_L8s_v2 + - Standard_L8s_v3 + type: string + tier: + description: 'Tier: SKU tier.' + enum: + - Basic + - Standard + type: string + required: + - name + - tier + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: 'VirtualClusterGraduationProperties: Virtual Cluster graduation properties' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + description: Class representing a Kusto cluster. + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + calloutPolicies: + description: 'CalloutPolicies: List of callout policies for egress from Cluster.' + items: + description: Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + calloutId: + description: 'CalloutId: Unique identifier for the callout configuration.' + type: string + calloutType: + description: 'CalloutType: Type of the callout service, specifying the kind of external resource or service being accessed.' + type: string + calloutUriRegex: + description: 'CalloutUriRegex: Regular expression or FQDN pattern for the callout URI.' + type: string + outboundAccess: + description: 'OutboundAccess: Indicates whether outbound access is permitted for the specified URI pattern.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + description: 'DataIngestionUri: The cluster data ingestion URI.' + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + migrationCluster: + description: 'MigrationCluster: Properties of the peer cluster involved in a migration to/from this cluster.' + properties: + dataIngestionUri: + description: 'DataIngestionUri: The public data ingestion URL of the cluster.' + type: string + id: + description: 'Id: The resource ID of the cluster.' + type: string + role: + description: 'Role: The role of the cluster in the migration process.' + type: string + uri: + description: 'Uri: The public URL of the cluster.' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: A list of private endpoint connections.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + type: string + tier: + description: 'Tier: SKU tier.' + type: string + type: object + state: + description: 'State: The state of the resource.' + type: string + stateReason: + description: 'StateReason: The reason for the cluster''s current state.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uri: + description: 'Uri: The cluster URI.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpId: + description: 'DataManagementPublicIpId: Data management''s service public IP address resource id.' + type: string + enginePublicIpId: + description: 'EnginePublicIpId: Engine service''s public IP address resource id.' + type: string + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + type: string + subnetId: + description: 'SubnetId: The subnet resource id.' + type: string + type: object + zoneStatus: + description: 'ZoneStatus: Indicates whether the cluster is zonal or non-zonal.' + type: string + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240413.Cluster + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240413.Cluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20240413.AcceptedAudiences + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + calloutPolicies: + items: + description: |- + Storage version of v1api20240413.CalloutPolicy + Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + calloutType: + type: string + calloutUriRegex: + type: string + outboundAccess: + type: string + type: object + type: array + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + identity: + description: |- + Storage version of v1api20240413.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240413.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: |- + Storage version of v1api20240413.LanguageExtensionsList + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20240413.LanguageExtension + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240413.ClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240413.ClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + clusterTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: |- + Storage version of v1api20240413.OptimizedAutoscale + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240413.AzureSku + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20240413.TrustedExternalTenant + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240413.VirtualNetworkConfiguration + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240413.Cluster_STATUS + Class representing a Kusto cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20240413.AcceptedAudiences_STATUS + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + calloutPolicies: + items: + description: |- + Storage version of v1api20240413.CalloutPolicy_STATUS + Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + calloutId: + type: string + calloutType: + type: string + calloutUriRegex: + type: string + outboundAccess: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240413.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240413.Identity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + languageExtensions: + description: |- + Storage version of v1api20240413.LanguageExtensionsList_STATUS + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20240413.LanguageExtension_STATUS + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + migrationCluster: + description: |- + Storage version of v1api20240413.MigrationClusterProperties_STATUS + Represents a properties of a cluster that is part of a migration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataIngestionUri: + type: string + id: + type: string + role: + type: string + uri: + type: string + type: object + name: + type: string + optimizedAutoscale: + description: |- + Storage version of v1api20240413.OptimizedAutoscale_STATUS + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240413.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240413.AzureSku_STATUS + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + state: + type: string + stateReason: + type: string + systemData: + description: |- + Storage version of v1api20240413.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20240413.TrustedExternalTenant_STATUS + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: + type: string + uri: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240413.VirtualNetworkConfiguration_STATUS + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpId: + type: string + enginePublicIpId: + type: string + state: + type: string + subnetId: + type: string + type: object + zoneStatus: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: components.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: Component + listKind: ComponentList + plural: components + singular: component + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200202 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + Application_Type: + description: 'Application_Type: Type of application being monitored.' + enum: + - other + - web + type: string + DisableIpMasking: + description: 'DisableIpMasking: Disable IP masking.' + type: boolean + DisableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + Flow_Type: + description: |- + Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is + to be set to 'Bluefield' when creating/updating a component via the REST API. + enum: + - Bluefield + type: string + ForceCustomerStorageForProfiler: + description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' + type: boolean + HockeyAppId: + description: |- + HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications + with HockeyApp. + type: string + ImmediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' + type: boolean + IngestionMode: + description: 'IngestionMode: Indicates the flow of the ingestion.' + enum: + - ApplicationInsights + - ApplicationInsightsWithDiagnosticSettings + - LogAnalytics + type: string + Request_Source: + description: |- + Request_Source: Describes what tool created this Application Insights component. Customers using this API should set + this to the default 'rest'. + enum: + - rest + type: string + RetentionInDays: + description: 'RetentionInDays: Retention period in days.' + type: integer + SamplingPercentage: + description: |- + SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for + Application Insights telemetry. + type: number + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: Resource etag' + type: string + kind: + description: |- + Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, + values should typically be one of the following: web, ios, other, store, java, phone. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + connectionString: + description: |- + ConnectionString: indicates where the ConnectionString config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + instrumentationKey: + description: |- + InstrumentationKey: indicates where the InstrumentationKey config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' + enum: + - Disabled + - Enabled + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + workspaceResourceReference: + description: |- + WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property + is required to create an application with this API version. Applications from older versions will not have this property. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - Application_Type + - kind + - location + - owner + type: object + status: + properties: + AppId: + description: 'AppId: Application Insights Unique ID for your Application.' + type: string + Application_Type: + description: 'Application_Type: Type of application being monitored.' + type: string + ApplicationId: + description: 'ApplicationId: The unique ID of your application. This field mirrors the ''Name'' field and cannot be changed.' + type: string + ConnectionString: + description: 'ConnectionString: Application Insights component connection string.' + type: string + CreationDate: + description: 'CreationDate: Creation Date for the Application Insights component, in ISO 8601 format.' + type: string + DisableIpMasking: + description: 'DisableIpMasking: Disable IP masking.' + type: boolean + DisableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + Flow_Type: + description: |- + Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is + to be set to 'Bluefield' when creating/updating a component via the REST API. + type: string + ForceCustomerStorageForProfiler: + description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' + type: boolean + HockeyAppId: + description: |- + HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications + with HockeyApp. + type: string + HockeyAppToken: + description: 'HockeyAppToken: Token used to authenticate communications with between Application Insights and HockeyApp.' + type: string + ImmediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' + type: boolean + IngestionMode: + description: 'IngestionMode: Indicates the flow of the ingestion.' + type: string + InstrumentationKey: + description: |- + InstrumentationKey: Application Insights Instrumentation key. A read-only value that applications can use to identify + the destination for all telemetry sent to Azure Application Insights. This value will be supplied upon construction of + each new Application Insights component. + type: string + LaMigrationDate: + description: 'LaMigrationDate: The date which the component got migrated to LA, in ISO 8601 format.' + type: string + PrivateLinkScopedResources: + description: 'PrivateLinkScopedResources: List of linked private link scope resources.' + items: + description: The private link scope resource reference. + properties: + ResourceId: + description: 'ResourceId: The full resource Id of the private link scope resource.' + type: string + ScopeId: + description: 'ScopeId: The private link scope unique Identifier.' + type: string + type: object + type: array + Request_Source: + description: |- + Request_Source: Describes what tool created this Application Insights component. Customers using this API should set + this to the default 'rest'. + type: string + RetentionInDays: + description: 'RetentionInDays: Retention period in days.' + type: integer + SamplingPercentage: + description: |- + SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for + Application Insights telemetry. + type: number + TenantId: + description: 'TenantId: Azure Tenant Id.' + type: string + WorkspaceResourceId: + description: |- + WorkspaceResourceId: Resource Id of the log analytics workspace which the data will be ingested to. This property is + required to create an application with this API version. Applications from older versions will not have this property. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: Resource etag' + type: string + id: + description: 'Id: Azure resource Id' + type: string + kind: + description: |- + Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, + values should typically be one of the following: web, ios, other, store, java, phone. + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + properties_name: + description: 'PropertiesName: Application name.' + type: string + provisioningState: + description: |- + ProvisioningState: Current state of this component: whether or not is has been provisioned within the resource group it + is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, + Canceled, and Failed. + type: string + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200202storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200202.Component + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200202.Component_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Application_Type: + type: string + DisableIpMasking: + type: boolean + DisableLocalAuth: + type: boolean + Flow_Type: + type: string + ForceCustomerStorageForProfiler: + type: boolean + HockeyAppId: + type: string + ImmediatePurgeDataOn30Days: + type: boolean + IngestionMode: + type: string + Request_Source: + type: string + RetentionInDays: + type: integer + SamplingPercentage: + type: number + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200202.ComponentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20200202.ComponentOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + instrumentationKey: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + tags: + additionalProperties: + type: string + type: object + workspaceResourceReference: + description: |- + WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property + is required to create an application with this API version. Applications from older versions will not have this property. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20200202.Component_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AppId: + type: string + Application_Type: + type: string + ApplicationId: + type: string + ConnectionString: + type: string + CreationDate: + type: string + DisableIpMasking: + type: boolean + DisableLocalAuth: + type: boolean + Flow_Type: + type: string + ForceCustomerStorageForProfiler: + type: boolean + HockeyAppId: + type: string + HockeyAppToken: + type: string + ImmediatePurgeDataOn30Days: + type: boolean + IngestionMode: + type: string + InstrumentationKey: + type: string + LaMigrationDate: + type: string + PrivateLinkScopedResources: + items: + description: |- + Storage version of v1api20200202.PrivateLinkScopedResource_STATUS + The private link scope resource reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ResourceId: + type: string + ScopeId: + type: string + type: object + type: array + Request_Source: + type: string + RetentionInDays: + type: integer + SamplingPercentage: + type: number + TenantId: + type: string + WorkspaceResourceId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + kind: + type: string + location: + type: string + name: + type: string + properties_name: + type: string + provisioningState: + type: string + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: configurations.dbformariadb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformariadb.azure.com + names: + categories: + - azure + - dbformariadb + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Configuration + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Configuration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.ConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20180601.Configuration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + id: + type: string + name: + type: string + source: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: configurationstores.appconfiguration.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: appconfiguration.azure.com + names: + categories: + - azure + - appconfiguration + kind: ConfigurationStore + listKind: ConfigurationStoreList + plural: configurationstores + singular: configurationstore + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/AppConfiguration/stable/2022-05-01/appconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9_-]*$ + type: string + createMode: + description: 'CreateMode: Indicates whether the configuration store need to be recovered.' + enum: + - Default + - Recover + type: string + disableLocalAuth: + description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' + type: boolean + enablePurgeProtection: + description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of the configuration store.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' + type: string + type: object + type: object + identity: + description: 'Identity: The managed identity information, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove any identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKeyID: + description: |- + PrimaryKeyID: indicates where the PrimaryKeyID secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyConnectionString: + description: |- + PrimaryReadOnlyConnectionString: indicates where the PrimaryReadOnlyConnectionString secret should be placed. If + omitted, the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKey: + description: |- + PrimaryReadOnlyKey: indicates where the PrimaryReadOnlyKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKeyID: + description: |- + PrimaryReadOnlyKeyID: indicates where the PrimaryReadOnlyKeyID secret should be placed. If omitted, the secret will not + be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKeyID: + description: |- + SecondaryKeyID: indicates where the SecondaryKeyID secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyConnectionString: + description: |- + SecondaryReadOnlyConnectionString: indicates where the SecondaryReadOnlyConnectionString secret should be placed. If + omitted, the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKey: + description: |- + SecondaryReadOnlyKey: indicates where the SecondaryReadOnlyKey secret should be placed. If omitted, the secret will not + be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKeyID: + description: |- + SecondaryReadOnlyKeyID: indicates where the SecondaryReadOnlyKeyID secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is + enabled. + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The sku of the configuration store.' + properties: + name: + description: 'Name: The SKU name of the configuration store.' + type: string + required: + - name + type: object + softDeleteRetentionInDays: + description: |- + SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft + deleted. + type: integer + systemData: + description: 'SystemData: Resource system metadata.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + description: |- + The configuration store along with all resource properties. The Configuration Store will have all information to begin + utilizing it. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: Indicates whether the configuration store need to be recovered.' + type: string + creationDate: + description: 'CreationDate: The creation date of configuration store.' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' + type: boolean + enablePurgeProtection: + description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of the configuration store.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' + type: string + type: object + type: object + endpoint: + description: 'Endpoint: The DNS endpoint where the configuration store API will be available.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The managed identity information, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity. This property will only be provided for a system-assigned identity.' + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the resource's identity. This property will only be provided for a + system-assigned identity. + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove any identities. + type: string + userAssignedIdentities: + additionalProperties: + description: A resource identity that is managed by the user of the service. + properties: + clientId: + description: 'ClientId: The client ID of the user-assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the user-assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections that are set up for this resource.' + items: + description: A reference to a related private endpoint connection. + properties: + id: + description: 'Id: The resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the configuration store.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is + enabled. + type: string + sku: + description: 'Sku: The sku of the configuration store.' + properties: + name: + description: 'Name: The SKU name of the configuration store.' + type: string + type: object + softDeleteRetentionInDays: + description: |- + SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft + deleted. + type: integer + systemData: + description: 'SystemData: Resource system metadata.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220501.ConfigurationStore + Generator information: + - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/AppConfiguration/stable/2022-05-01/appconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220501.ConfigurationStore_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + createMode: + type: string + disableLocalAuth: + type: boolean + enablePurgeProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20220501.EncryptionProperties + The encryption settings for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: |- + Storage version of v1api20220501.KeyVaultProperties + Settings concerning key vault encryption for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20220501.ResourceIdentity + An identity that can be associated with a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220501.ConfigurationStoreOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220501.ConfigurationStoreOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20220501.Sku + Describes a configuration store SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + systemData: + description: |- + Storage version of v1api20220501.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220501.ConfigurationStore_STATUS + The configuration store along with all resource properties. The Configuration Store will have all information to begin + utilizing it. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + creationDate: + type: string + disableLocalAuth: + type: boolean + enablePurgeProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20220501.EncryptionProperties_STATUS + The encryption settings for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: |- + Storage version of v1api20220501.KeyVaultProperties_STATUS + Settings concerning key vault encryption for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + type: object + type: object + endpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20220501.ResourceIdentity_STATUS + An identity that can be associated with a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20220501.UserIdentity_STATUS + A resource identity that is managed by the user of the service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220501.PrivateEndpointConnectionReference_STATUS + A reference to a related private endpoint connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20220501.Sku_STATUS + Describes a configuration store SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + systemData: + description: |- + Storage version of v1api20220501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: containerapps.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: ContainerApp + listKind: ContainerAppList + plural: containerapps + singular: containerapp + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + enum: + - Multiple + - Single + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + enum: + - grpc + - http + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + enum: + - debug + - error + - info + - warn + type: string + type: object + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + required: + - external + - targetPort + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + enum: + - accept + - ignore + - require + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + required: + - allowedOrigins + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + enum: + - Disabled + - SniEnabled + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: 'Name: Hostname.' + type: string + required: + - name + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + enum: + - Allow + - Deny + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + required: + - action + - ipAddressRange + - name + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + enum: + - none + - sticky + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + enum: + - auto + - http + - http2 + - tcp + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + required: + - type + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - CustomLocation + type: string + type: object + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + eventStreamEndpoint: + description: |- + EventStreamEndpoint: indicates where the EventStreamEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: 'Fqdn: indicates where the Fqdn config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + type: string + type: object + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + type: string + certificateId: + description: 'CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + type: string + name: + description: 'Name: Hostname.' + type: string + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + fqdn: + description: 'Fqdn: Hostname.' + type: string + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + type: object + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container app.' + type: string + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + latestReadyRevisionName: + description: 'LatestReadyRevisionName: Name of the latest ready revision of the Container App.' + type: string + latestRevisionFqdn: + description: 'LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App.' + type: string + latestRevisionName: + description: 'LatestRevisionName: Name of the latest revision of the Container App.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: |- + ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + removed from the template since it is managed by another resource. + type: string + managedEnvironmentId: + description: 'ManagedEnvironmentId: Deprecated. Resource ID of the Container App''s environment.' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses for container app.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container App.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceId: + description: 'ServiceId: Resource id of the target service' + type: string + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.ContainerApp + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.ContainerApp_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20240301.Configuration + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20240301.Dapr + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + ingress: + description: |- + Storage version of v1api20240301.Ingress + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20240301.IngressPortMapping + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20240301.CorsPolicy + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20240301.CustomDomain + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20240301.IpSecurityRestrictionRule + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20240301.Ingress_StickySessions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20240301.TrafficWeight + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + secrets: + items: + description: |- + Storage version of v1api20240301.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: |- + Storage version of v1api20240301.Service + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.ContainerAppOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240301.ContainerAppOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventStreamEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.Template + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20240301.Scale + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxReplicas: + type: integer + minReplicas: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.ScaleRule + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20240301.QueueScaleRule + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20240301.CustomScaleRule + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20240301.HttpScaleRule + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20240301.TcpScaleRule + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20240301.ServiceBind + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20240301.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.ContainerApp_STATUS + Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20240301.Configuration_STATUS + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20240301.Dapr_STATUS + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + ingress: + description: |- + Storage version of v1api20240301.Ingress_STATUS + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20240301.IngressPortMapping_STATUS + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20240301.CorsPolicy_STATUS + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20240301.CustomDomain_STATUS + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateId: + type: string + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + fqdn: + type: string + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20240301.IpSecurityRestrictionRule_STATUS + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20240301.Ingress_StickySessions_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20240301.TrafficWeight_STATUS + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + secrets: + items: + description: |- + Storage version of v1api20240301.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + service: + description: |- + Storage version of v1api20240301.Service_STATUS + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + customDomainVerificationId: + type: string + environmentId: + type: string + eventStreamEndpoint: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + latestReadyRevisionName: + type: string + latestRevisionFqdn: + type: string + latestRevisionName: + type: string + location: + type: string + managedBy: + type: string + managedEnvironmentId: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.Template_STATUS + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20240301.Scale_STATUS + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxReplicas: + type: integer + minReplicas: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.ScaleRule_STATUS + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20240301.QueueScaleRule_STATUS + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20240301.CustomScaleRule_STATUS + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20240301.HttpScaleRule_STATUS + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20240301.TcpScaleRule_STATUS + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20240301.ServiceBind_STATUS + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceId: + type: string + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20240301.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + enum: + - Multiple + - Single + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + enum: + - grpc + - http + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + enum: + - debug + - error + - info + - warn + type: string + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity + is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + enum: + - All + - Init + - Main + - None + type: string + required: + - identityReference + type: object + type: array + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + required: + - external + - targetPort + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + enum: + - accept + - ignore + - require + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + required: + - allowedOrigins + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + enum: + - Disabled + - SniEnabled + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: 'Name: Hostname.' + type: string + required: + - name + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + enum: + - Allow + - Deny + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + required: + - action + - ipAddressRange + - name + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + enum: + - none + - sticky + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + enum: + - auto + - http + - http2 + - tcp + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + runtime: + description: 'Runtime: App runtime configuration for the Container App.' + properties: + java: + description: 'Java: Java app configuration' + properties: + enableMetrics: + description: 'EnableMetrics: Enable jmx core metrics for the java app' + type: boolean + type: object + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + required: + - type + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - CustomLocation + type: string + type: object + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + eventStreamEndpoint: + description: |- + EventStreamEndpoint: indicates where the EventStreamEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: 'Fqdn: indicates where the Fqdn config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + cooldownPeriod: + description: 'CooldownPeriod: Optional. KEDA Cooldown Period in seconds. Defaults to 300 seconds if not set.' + type: integer + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + pollingInterval: + description: 'PollingInterval: Optional. KEDA Polling Interval in seconds. Defaults to 30 seconds if not set.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + accountName: + description: 'AccountName: Storage account name. required if using managed identity to authenticate' + type: string + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - NfsAzureFile + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + type: string + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity + is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + type: string + type: object + type: array + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + type: string + certificateId: + description: 'CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + type: string + name: + description: 'Name: Hostname.' + type: string + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + fqdn: + description: 'Fqdn: Hostname.' + type: string + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + runtime: + description: 'Runtime: App runtime configuration for the Container App.' + properties: + java: + description: 'Java: Java app configuration' + properties: + enableMetrics: + description: 'EnableMetrics: Enable jmx core metrics for the java app' + type: boolean + type: object + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + type: object + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container app.' + type: string + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + latestReadyRevisionName: + description: 'LatestReadyRevisionName: Name of the latest ready revision of the Container App.' + type: string + latestRevisionFqdn: + description: 'LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App.' + type: string + latestRevisionName: + description: 'LatestRevisionName: Name of the latest revision of the Container App.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: |- + ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + removed from the template since it is managed by another resource. + type: string + managedEnvironmentId: + description: 'ManagedEnvironmentId: Deprecated. Resource ID of the Container App''s environment.' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses for container app.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container App.' + type: string + runningStatus: + description: 'RunningStatus: Running status of the Container App.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + cooldownPeriod: + description: 'CooldownPeriod: Optional. KEDA Cooldown Period in seconds. Defaults to 300 seconds if not set.' + type: integer + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + pollingInterval: + description: 'PollingInterval: Optional. KEDA Polling Interval in seconds. Defaults to 30 seconds if not set.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + accountName: + description: 'AccountName: Storage account name. required if using managed identity to authenticate' + type: string + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceId: + description: 'ServiceId: Resource id of the target service' + type: string + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.ContainerApp + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.ContainerApp_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20250101.Configuration + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20250101.Dapr + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + lifecycle: + type: string + required: + - identityReference + type: object + type: array + ingress: + description: |- + Storage version of v1api20250101.Ingress + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20250101.IngressPortMapping + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20250101.CorsPolicy + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20250101.CustomDomain + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20250101.IpSecurityRestrictionRule + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20250101.Ingress_StickySessions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20250101.TrafficWeight + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + runtime: + description: |- + Storage version of v1api20250101.Runtime + Container App Runtime configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + java: + description: Storage version of v1api20250101.Runtime_Java + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableMetrics: + type: boolean + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: |- + Storage version of v1api20250101.Service + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20250101.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20250101.ContainerAppOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20250101.ContainerAppOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventStreamEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.Template + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20250101.Scale + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldownPeriod: + type: integer + maxReplicas: + type: integer + minReplicas: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.ScaleRule + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20250101.QueueScaleRule + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20250101.CustomScaleRule + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20250101.HttpScaleRule + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20250101.TcpScaleRule + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20250101.ServiceBind + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20250101.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250101.ContainerApp_STATUS + Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20250101.Configuration_STATUS + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20250101.Dapr_STATUS + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings_STATUS + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + lifecycle: + type: string + type: object + type: array + ingress: + description: |- + Storage version of v1api20250101.Ingress_STATUS + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20250101.IngressPortMapping_STATUS + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20250101.CorsPolicy_STATUS + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20250101.CustomDomain_STATUS + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateId: + type: string + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + fqdn: + type: string + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20250101.IpSecurityRestrictionRule_STATUS + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20250101.Ingress_StickySessions_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20250101.TrafficWeight_STATUS + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + runtime: + description: |- + Storage version of v1api20250101.Runtime_STATUS + Container App Runtime configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + java: + description: Storage version of v1api20250101.Runtime_Java_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableMetrics: + type: boolean + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + service: + description: |- + Storage version of v1api20250101.Service_STATUS + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + customDomainVerificationId: + type: string + environmentId: + type: string + eventStreamEndpoint: + type: string + extendedLocation: + description: |- + Storage version of v1api20250101.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + latestReadyRevisionName: + type: string + latestRevisionFqdn: + type: string + latestRevisionName: + type: string + location: + type: string + managedBy: + type: string + managedEnvironmentId: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + runningStatus: + type: string + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.Template_STATUS + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20250101.Scale_STATUS + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldownPeriod: + type: integer + maxReplicas: + type: integer + minReplicas: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.ScaleRule_STATUS + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20250101.QueueScaleRule_STATUS + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20250101.CustomScaleRule_STATUS + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20250101.HttpScaleRule_STATUS + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20250101.TcpScaleRule_STATUS + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20250101.ServiceBind_STATUS + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceId: + type: string + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20250101.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: containergroups.containerinstance.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerinstance.azure.com + names: + categories: + - azure + - containerinstance + kind: ContainerGroup + listKind: ContainerGroupList + plural: containergroups + singular: containergroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/ContainerInstance/stable/2021-10-01/containerInstance.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containers: + description: 'Containers: The containers within the container group.' + items: + description: A container instance. + properties: + command: + description: 'Command: The commands to execute within the container instance in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the container instance.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + secureValue: + description: 'SecureValue: The value of the secure environment variable.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + description: 'Value: The value of the environment variable.' + type: string + required: + - name + type: object + type: array + image: + description: 'Image: The name of the image used to create the container instance.' + type: string + livenessProbe: + description: 'LivenessProbe: The liveness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + enum: + - http + - https + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + name: + description: 'Name: The user-provided name of the container instance.' + type: string + ports: + description: 'Ports: The exposed ports on the container instance.' + items: + description: The port exposed on the container instance. + properties: + port: + description: 'Port: The port number exposed within the container group.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + enum: + - TCP + - UDP + type: string + required: + - port + type: object + type: array + readinessProbe: + description: 'ReadinessProbe: The readiness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + enum: + - http + - https + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + resources: + description: 'Resources: The resource requirements of the container instance.' + properties: + limits: + description: 'Limits: The resource limits of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU limit of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU limit of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + enum: + - K80 + - P100 + - V100 + type: string + required: + - count + - sku + type: object + memoryInGB: + description: 'MemoryInGB: The memory limit in GB of this container instance.' + type: number + type: object + requests: + description: 'Requests: The resource requests of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU request of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU request of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + enum: + - K80 + - P100 + - V100 + type: string + required: + - count + - sku + type: object + memoryInGB: + description: 'MemoryInGB: The memory request in GB of this container instance.' + type: number + required: + - cpu + - memoryInGB + type: object + required: + - requests + type: object + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the container instance.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + required: + - mountPath + - name + type: object + type: array + required: + - image + - name + - resources + type: object + type: array + diagnostics: + description: 'Diagnostics: The diagnostic information for a container group.' + properties: + logAnalytics: + description: 'LogAnalytics: Container group log analytics information.' + properties: + logType: + description: 'LogType: The log type to be used.' + enum: + - ContainerInsights + - ContainerInstanceLogs + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata for log analytics.' + type: object + workspaceId: + description: 'WorkspaceId: The workspace id for log analytics' + type: string + workspaceKey: + description: 'WorkspaceKey: The workspace key for log analytics' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceResourceReference: + description: 'WorkspaceResourceReference: The workspace resource id for log analytics' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - workspaceId + - workspaceKey + type: object + type: object + dnsConfig: + description: 'DnsConfig: The DNS config information for a container group.' + properties: + nameServers: + description: 'NameServers: The DNS servers for the container group.' + items: + type: string + type: array + options: + description: 'Options: The DNS options for the container group.' + type: string + searchDomains: + description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' + type: string + required: + - nameServers + type: object + encryptionProperties: + description: 'EncryptionProperties: The encryption properties for a container group.' + properties: + keyName: + description: 'KeyName: The encryption key name.' + type: string + keyVersion: + description: 'KeyVersion: The encryption key version.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The keyvault base url.' + type: string + required: + - keyName + - keyVersion + - vaultBaseUrl + type: object + identity: + description: 'Identity: The identity of the container group, if configured.' + properties: + type: + description: |- + 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. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The list of user identities associated with the container group.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageRegistryCredentials: + description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' + items: + description: Image registry credential. + properties: + identity: + description: 'Identity: The identity for the private registry.' + type: string + identityUrl: + description: 'IdentityUrl: The identity URL for the private registry.' + type: string + password: + description: 'Password: The password for the private registry.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + server: + description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' + type: string + username: + description: 'Username: The username for the private registry.' + type: string + required: + - server + type: object + type: array + initContainers: + description: 'InitContainers: The init containers for a container group.' + items: + description: The init container definition. + properties: + command: + description: 'Command: The command to execute within the init container in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the init container.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + secureValue: + description: 'SecureValue: The value of the secure environment variable.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + description: 'Value: The value of the environment variable.' + type: string + required: + - name + type: object + type: array + image: + description: 'Image: The image of the init container.' + type: string + name: + description: 'Name: The name for the init container.' + type: string + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the init container.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + required: + - mountPath + - name + type: object + type: array + required: + - name + type: object + type: array + ipAddress: + description: 'IpAddress: The IP address type of the container group.' + properties: + autoGeneratedDomainNameLabelScope: + description: |- + 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. + enum: + - Noreuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + - Unsecure + type: string + dnsNameLabel: + description: 'DnsNameLabel: The Dns name label for the IP.' + type: string + ip: + description: 'Ip: The IP exposed to the public internet.' + type: string + ports: + description: 'Ports: The list of ports exposed on the container group.' + items: + description: The port exposed on the container group. + properties: + port: + description: 'Port: The port number.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + enum: + - TCP + - UDP + type: string + required: + - port + type: object + type: array + type: + description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' + enum: + - Private + - Public + type: string + required: + - ports + - type + type: object + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osType: + description: 'OsType: The operating system type required by the containers in the container group.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restartPolicy: + description: |- + RestartPolicy: Restart policy for all containers within the container group. + - `Always` Always restart + - `OnFailure` Restart on failure + - `Never` Never restart + enum: + - Always + - Never + - OnFailure + type: string + sku: + description: 'Sku: The SKU for a container group.' + enum: + - Dedicated + - Standard + type: string + subnetIds: + description: 'SubnetIds: The subnet resource IDs for a container group.' + items: + description: Container group subnet information. + properties: + name: + description: 'Name: Friendly name for the subnet.' + type: string + reference: + description: 'Reference: Resource ID of virtual network and subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + volumes: + description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' + items: + description: The properties of the volume. + properties: + azureFile: + description: 'AzureFile: The Azure File volume.' + properties: + readOnly: + description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' + type: boolean + shareName: + description: 'ShareName: The name of the Azure File share to be mounted as a volume.' + type: string + storageAccountKey: + description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' + type: string + storageAccountName: + description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' + type: string + required: + - shareName + - storageAccountName + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'EmptyDir: The empty directory volume.' + type: object + gitRepo: + description: 'GitRepo: The git repo volume.' + properties: + directory: + description: |- + 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. + type: string + repository: + description: 'Repository: Repository URL' + type: string + revision: + description: 'Revision: Commit hash for the specified revision.' + type: string + required: + - repository + type: object + name: + description: 'Name: The name of the volume.' + type: string + secret: + additionalProperties: + type: string + description: 'Secret: The secret volume.' + type: object + required: + - name + type: object + type: array + zones: + description: 'Zones: The zones for the container group.' + items: + type: string + type: array + required: + - containers + - osType + - owner + type: object + status: + description: A container group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containers: + description: 'Containers: The containers within the container group.' + items: + description: A container instance. + properties: + command: + description: 'Command: The commands to execute within the container instance in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the container instance.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + value: + description: 'Value: The value of the environment variable.' + type: string + type: object + type: array + image: + description: 'Image: The name of the image used to create the container instance.' + type: string + instanceView: + description: 'InstanceView: The instance view of the container instance. Only valid in response.' + properties: + currentState: + description: 'CurrentState: Current container instance state.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + events: + description: 'Events: The events of the container instance.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + previousState: + description: 'PreviousState: Previous container instance state.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + restartCount: + description: 'RestartCount: The number of times that the container instance has been restarted.' + type: integer + type: object + livenessProbe: + description: 'LivenessProbe: The liveness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + type: string + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + name: + description: 'Name: The user-provided name of the container instance.' + type: string + ports: + description: 'Ports: The exposed ports on the container instance.' + items: + description: The port exposed on the container instance. + properties: + port: + description: 'Port: The port number exposed within the container group.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + type: string + type: object + type: array + readinessProbe: + description: 'ReadinessProbe: The readiness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + type: string + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + resources: + description: 'Resources: The resource requirements of the container instance.' + properties: + limits: + description: 'Limits: The resource limits of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU limit of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU limit of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + type: string + type: object + memoryInGB: + description: 'MemoryInGB: The memory limit in GB of this container instance.' + type: number + type: object + requests: + description: 'Requests: The resource requests of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU request of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU request of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + type: string + type: object + memoryInGB: + description: 'MemoryInGB: The memory request in GB of this container instance.' + type: number + type: object + type: object + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the container instance.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: 'Diagnostics: The diagnostic information for a container group.' + properties: + logAnalytics: + description: 'LogAnalytics: Container group log analytics information.' + properties: + logType: + description: 'LogType: The log type to be used.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata for log analytics.' + type: object + workspaceId: + description: 'WorkspaceId: The workspace id for log analytics' + type: string + type: object + type: object + dnsConfig: + description: 'DnsConfig: The DNS config information for a container group.' + properties: + nameServers: + description: 'NameServers: The DNS servers for the container group.' + items: + type: string + type: array + options: + description: 'Options: The DNS options for the container group.' + type: string + searchDomains: + description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' + type: string + type: object + encryptionProperties: + description: 'EncryptionProperties: The encryption properties for a container group.' + properties: + keyName: + description: 'KeyName: The encryption key name.' + type: string + keyVersion: + description: 'KeyVersion: The encryption key version.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The keyvault base url.' + type: string + type: object + id: + description: 'Id: The resource id.' + type: string + identity: + description: 'Identity: The identity of the container group, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the container group identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the container group. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + 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: string + userAssignedIdentities: + additionalProperties: + description: |- + 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}'. + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: The list of user identities associated with the container group.' + type: object + type: object + imageRegistryCredentials: + description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' + items: + description: Image registry credential. + properties: + identity: + description: 'Identity: The identity for the private registry.' + type: string + identityUrl: + description: 'IdentityUrl: The identity URL for the private registry.' + type: string + server: + description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' + type: string + username: + description: 'Username: The username for the private registry.' + type: string + type: object + type: array + initContainers: + description: 'InitContainers: The init containers for a container group.' + items: + description: The init container definition. + properties: + command: + description: 'Command: The command to execute within the init container in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the init container.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + value: + description: 'Value: The value of the environment variable.' + type: string + type: object + type: array + image: + description: 'Image: The image of the init container.' + type: string + instanceView: + description: 'InstanceView: The instance view of the init container. Only valid in response.' + properties: + currentState: + description: 'CurrentState: The current state of the init container.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + events: + description: 'Events: The events of the init container.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + previousState: + description: 'PreviousState: The previous state of the init container.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + restartCount: + description: 'RestartCount: The number of times that the init container has been restarted.' + type: integer + type: object + name: + description: 'Name: The name for the init container.' + type: string + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the init container.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + type: object + type: array + type: object + type: array + instanceView: + description: 'InstanceView: The instance view of the container group. Only valid in response.' + properties: + events: + description: 'Events: The events of this container group.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + state: + description: 'State: The state of the container group. Only valid in response.' + type: string + type: object + ipAddress: + description: 'IpAddress: The IP address type of the container group.' + properties: + autoGeneratedDomainNameLabelScope: + description: |- + 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. + type: string + dnsNameLabel: + description: 'DnsNameLabel: The Dns name label for the IP.' + type: string + fqdn: + description: 'Fqdn: The FQDN for the IP.' + type: string + ip: + description: 'Ip: The IP exposed to the public internet.' + type: string + ports: + description: 'Ports: The list of ports exposed on the container group.' + items: + description: The port exposed on the container group. + properties: + port: + description: 'Port: The port number.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + type: string + type: object + type: array + type: + description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' + type: string + type: object + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + osType: + description: 'OsType: The operating system type required by the containers in the container group.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the container group. This only appears in the response.' + type: string + restartPolicy: + description: |- + RestartPolicy: Restart policy for all containers within the container group. + - `Always` Always restart + - `OnFailure` Restart on failure + - `Never` Never restart + type: string + sku: + description: 'Sku: The SKU for a container group.' + type: string + subnetIds: + description: 'SubnetIds: The subnet resource IDs for a container group.' + items: + description: Container group subnet information. + properties: + id: + description: 'Id: Resource ID of virtual network and subnet.' + type: string + name: + description: 'Name: Friendly name for the subnet.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + volumes: + description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' + items: + description: The properties of the volume. + properties: + azureFile: + description: 'AzureFile: The Azure File volume.' + properties: + readOnly: + description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' + type: boolean + shareName: + description: 'ShareName: The name of the Azure File share to be mounted as a volume.' + type: string + storageAccountKey: + description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' + type: string + storageAccountName: + description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'EmptyDir: The empty directory volume.' + type: object + gitRepo: + description: 'GitRepo: The git repo volume.' + properties: + directory: + description: |- + 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. + type: string + repository: + description: 'Repository: Repository URL' + type: string + revision: + description: 'Revision: Commit hash for the specified revision.' + type: string + type: object + name: + description: 'Name: The name of the volume.' + type: string + secret: + additionalProperties: + type: string + description: 'Secret: The secret volume.' + type: object + type: object + type: array + zones: + description: 'Zones: The zones for the container group.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211001.ContainerGroup + Generator information: + - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/ContainerInstance/stable/2021-10-01/containerInstance.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211001.ContainerGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containers: + items: + description: |- + Storage version of v1api20211001.Container + A container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secureValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + type: string + type: object + type: array + image: + type: string + livenessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + name: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.ContainerPort + The port exposed on the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + readinessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + resources: + description: |- + Storage version of v1api20211001.ResourceRequirements + The resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + description: |- + Storage version of v1api20211001.ResourceLimits + The resource limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + requests: + description: |- + Storage version of v1api20211001.ResourceRequests + The resource requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: |- + Storage version of v1api20211001.ContainerGroupDiagnostics + Container group diagnostic information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalytics: + description: |- + Storage version of v1api20211001.LogAnalytics + Container group log analytics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logType: + type: string + metadata: + additionalProperties: + type: string + type: object + workspaceId: + type: string + workspaceKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceResourceReference: + description: 'WorkspaceResourceReference: The workspace resource id for log analytics' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + dnsConfig: + description: |- + Storage version of v1api20211001.DnsConfiguration + DNS configuration for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameServers: + items: + type: string + type: array + options: + type: string + searchDomains: + type: string + type: object + encryptionProperties: + description: |- + Storage version of v1api20211001.EncryptionProperties + The container group encryption properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + identity: + description: |- + Storage version of v1api20211001.ContainerGroupIdentity + Identity for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageRegistryCredentials: + items: + description: |- + Storage version of v1api20211001.ImageRegistryCredential + Image registry credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + identityUrl: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + server: + type: string + username: + type: string + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20211001.InitContainerDefinition + The init container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secureValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + ipAddress: + description: |- + Storage version of v1api20211001.IpAddress + IP address for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + dnsNameLabel: + type: string + ip: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.Port + The port exposed on the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + type: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20211001.ContainerGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restartPolicy: + type: string + sku: + type: string + subnetIds: + items: + description: |- + Storage version of v1api20211001.ContainerGroupSubnetId + Container group subnet information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + reference: + description: 'Reference: Resource ID of virtual network and subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + tags: + additionalProperties: + type: string + type: object + volumes: + items: + description: |- + Storage version of v1api20211001.Volume + The properties of the volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFile: + description: |- + Storage version of v1api20211001.AzureFileVolume + The properties of the Azure File volume. Azure File shares are mounted as volumes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + readOnly: + type: boolean + shareName: + type: string + storageAccountKey: + type: string + storageAccountName: + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + gitRepo: + description: |- + Storage version of v1api20211001.GitRepoVolume + Represents a volume that is populated with the contents of a git repository + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + directory: + type: string + repository: + type: string + revision: + type: string + type: object + name: + type: string + secret: + additionalProperties: + type: string + type: object + type: object + type: array + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20211001.ContainerGroup_STATUS + A container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containers: + items: + description: |- + Storage version of v1api20211001.Container_STATUS + A container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable_STATUS + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + image: + type: string + instanceView: + description: Storage version of v1api20211001.ContainerProperties_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + previousState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + restartCount: + type: integer + type: object + livenessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe_STATUS + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec_STATUS + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet_STATUS + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader_STATUS + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + name: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.ContainerPort_STATUS + The port exposed on the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + readinessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe_STATUS + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec_STATUS + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet_STATUS + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader_STATUS + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + resources: + description: |- + Storage version of v1api20211001.ResourceRequirements_STATUS + The resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + description: |- + Storage version of v1api20211001.ResourceLimits_STATUS + The resource limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource_STATUS + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + requests: + description: |- + Storage version of v1api20211001.ResourceRequests_STATUS + The resource requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource_STATUS + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount_STATUS + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: |- + Storage version of v1api20211001.ContainerGroupDiagnostics_STATUS + Container group diagnostic information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalytics: + description: |- + Storage version of v1api20211001.LogAnalytics_STATUS + Container group log analytics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logType: + type: string + metadata: + additionalProperties: + type: string + type: object + workspaceId: + type: string + type: object + type: object + dnsConfig: + description: |- + Storage version of v1api20211001.DnsConfiguration_STATUS + DNS configuration for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameServers: + items: + type: string + type: array + options: + type: string + searchDomains: + type: string + type: object + encryptionProperties: + description: |- + Storage version of v1api20211001.EncryptionProperties_STATUS + The container group encryption properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20211001.ContainerGroupIdentity_STATUS + Identity for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211001.UserAssignedIdentities_STATUS + 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}'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + imageRegistryCredentials: + items: + description: |- + Storage version of v1api20211001.ImageRegistryCredential_STATUS + Image registry credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + identityUrl: + type: string + server: + type: string + username: + type: string + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20211001.InitContainerDefinition_STATUS + The init container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable_STATUS + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + image: + type: string + instanceView: + description: Storage version of v1api20211001.InitContainerPropertiesDefinition_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + previousState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + restartCount: + type: integer + type: object + name: + type: string + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount_STATUS + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + instanceView: + description: Storage version of v1api20211001.ContainerGroup_Properties_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + state: + type: string + type: object + ipAddress: + description: |- + Storage version of v1api20211001.IpAddress_STATUS + IP address for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + dnsNameLabel: + type: string + fqdn: + type: string + ip: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.Port_STATUS + The port exposed on the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + type: + type: string + type: object + location: + type: string + name: + type: string + osType: + type: string + provisioningState: + type: string + restartPolicy: + type: string + sku: + type: string + subnetIds: + items: + description: |- + Storage version of v1api20211001.ContainerGroupSubnetId_STATUS + Container group subnet information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + volumes: + items: + description: |- + Storage version of v1api20211001.Volume_STATUS + The properties of the volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFile: + description: |- + Storage version of v1api20211001.AzureFileVolume_STATUS + The properties of the Azure File volume. Azure File shares are mounted as volumes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + readOnly: + type: boolean + shareName: + type: string + storageAccountKey: + type: string + storageAccountName: + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + gitRepo: + description: |- + Storage version of v1api20211001.GitRepoVolume_STATUS + Represents a volume that is populated with the contents of a git repository + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + directory: + type: string + repository: + type: string + revision: + type: string + type: object + name: + type: string + secret: + additionalProperties: + type: string + type: object + type: object + type: array + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: customcertificates.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: CustomCertificate + listKind: CustomCertificateList + plural: customcertificates + singular: customcertificate + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + keyVaultBaseUri: + description: 'KeyVaultBaseUri: Base uri of the KeyVault that stores certificate.' + type: string + keyVaultBaseUriFromConfig: + description: 'KeyVaultBaseUriFromConfig: Base uri of the KeyVault that stores certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretName: + description: 'KeyVaultSecretName: Certificate secret name.' + type: string + keyVaultSecretVersion: + description: 'KeyVaultSecretVersion: Certificate secret version.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - keyVaultSecretName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + keyVaultBaseUri: + description: 'KeyVaultBaseUri: Base uri of the KeyVault that stores certificate.' + type: string + keyVaultSecretName: + description: 'KeyVaultSecretName: Certificate secret name.' + type: string + keyVaultSecretVersion: + description: 'KeyVaultSecretVersion: Certificate secret version.' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.CustomCertificate + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.CustomCertificate_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + keyVaultBaseUri: + type: string + keyVaultBaseUriFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretName: + type: string + keyVaultSecretVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.CustomCertificateOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.CustomCertificate_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + keyVaultBaseUri: + type: string + keyVaultSecretName: + type: string + keyVaultSecretVersion: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: customdomains.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: CustomDomain + listKind: CustomDomainList + plural: customdomains + singular: customdomain + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customCertificate: + description: 'CustomCertificate: Reference to a resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + domainName: + description: 'DomainName: The custom domain name.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - customCertificate + - domainName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customCertificate: + description: 'CustomCertificate: Reference to a resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + domainName: + description: 'DomainName: The custom domain name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.CustomDomain + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.CustomDomain_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customCertificate: + description: |- + Storage version of v1api20240301.ResourceReference + Reference to a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + domainName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.CustomDomainOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.CustomDomain_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customCertificate: + description: |- + Storage version of v1api20240301.ResourceReference_STATUS + Reference to a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + domainName: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: databaseaccounts.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: DatabaseAccount + listKind: DatabaseAccountList + plural: databaseaccounts + singular: databaseaccount + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + type: + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + type: object + type: + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer + required: + - allowedOrigins + type: object + type: array + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + type: object + type: array + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - databaseAccountOfferType + - locations + - owner + type: object + status: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + type: + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer + type: object + type: array + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + items: + description: The failover policy for a given region of a database account. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. + type: string + locationName: + description: 'LocationName: The name of the region in which the database account exists.' + type: string + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + name: + description: 'Name: The name of the ARM resource.' + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + type: object + type: array + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.DatabaseAccount + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.DatabaseAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20210515.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20210515.ApiProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backupPolicy: + description: Storage version of v1api20210515.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20210515.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20210515.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + periodicModeProperties: + description: |- + Storage version of v1api20210515.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20210515.Capability + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20210515.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20210515.CorsPolicy + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + identity: + description: |- + Storage version of v1api20210515.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210515.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + items: + description: |- + Storage version of v1api20210515.IpAddressOrRange + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20210515.Location + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: + type: string + type: object + type: array + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20210515.DatabaseAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210515.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210515.VirtualNetworkRule + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20210515.DatabaseAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20210515.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20210515.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20210515.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20210515.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20210515.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + periodicModeProperties: + description: |- + Storage version of v1api20210515.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20210515.Capability_STATUS + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20210515.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20210515.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + failoverPolicies: + items: + description: |- + Storage version of v1api20210515.FailoverPolicy_STATUS + The failover policy for a given region of a database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + id: + type: string + locationName: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20210515.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210515.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + ipRules: + items: + description: |- + Storage version of v1api20210515.IpAddressOrRange_STATUS + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + name: + type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210515.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + readLocations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210515.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + type: object + type: array + writeLocations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + - "4.2" + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + enum: + - Continuous30Days + - Continuous7Days + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + enum: + - Geo + - Local + - Zone + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + minimum: -1 + type: integer + type: object + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer + required: + - allowedOrigins + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + enum: + - Default + - Restore + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + enum: + - Tls + - Tls11 + - Tls12 + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None + type: string + networkAclBypassResourceReferences: + description: |- + NetworkAclBypassResourceReferences: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB + account. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + enum: + - PointInTime + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - databaseAccountOfferType + - locations + - owner + type: object + status: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + type: string + customerManagedKeyStatus: + description: |- + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + items: + description: The failover policy for a given region of a database account. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. + type: string + locationName: + description: 'LocationName: The name of the region in which the database account exists.' + type: string + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceId: + description: 'InstanceId: A unique identifier assigned to the database account' + type: string + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + keysMetadata: + description: 'KeysMetadata: The object that represents the metadata for the Account Keys of the Cosmos DB account.' + properties: + primaryMasterKey: + description: 'PrimaryMasterKey: The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + primaryReadonlyMasterKey: + description: 'PrimaryReadonlyMasterKey: The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryMasterKey: + description: 'SecondaryMasterKey: The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryReadonlyMasterKey: + description: 'SecondaryReadonlyMasterKey: The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + type: object + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + type: object + type: array + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.DatabaseAccount + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.DatabaseAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20231115.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20231115.ApiProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backupPolicy: + description: Storage version of v1api20231115.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20231115.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20231115.ContinuousModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20231115.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20231115.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20231115.Capability + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20231115.Capacity + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20231115.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20231115.CorsPolicy + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + identity: + description: |- + Storage version of v1api20231115.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231115.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + items: + description: |- + Storage version of v1api20231115.IpAddressOrRange + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20231115.Location + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: + type: string + type: object + type: array + minimalTlsVersion: + type: string + networkAclBypass: + type: string + networkAclBypassResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20231115.DatabaseAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231115.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParameters + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20231115.DatabaseRestoreResource + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20231115.GremlinDatabaseRestoreResource + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + tablesToRestore: + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + items: + description: |- + Storage version of v1api20231115.VirtualNetworkRule + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20231115.DatabaseAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20231115.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20231115.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20231115.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20231115.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20231115.ContinuousModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20231115.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20231115.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20231115.Capability_STATUS + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20231115.Capacity_STATUS + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20231115.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20231115.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + failoverPolicies: + items: + description: |- + Storage version of v1api20231115.FailoverPolicy_STATUS + The failover policy for a given region of a database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + id: + type: string + locationName: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20231115.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231115.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instanceId: + type: string + ipRules: + items: + description: |- + Storage version of v1api20231115.IpAddressOrRange_STATUS + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + keysMetadata: + description: |- + Storage version of v1api20231115.DatabaseAccountKeysMetadata_STATUS + The metadata related to each access key for the given Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + primaryReadonlyMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryReadonlyMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + type: object + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + type: string + name: + type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20231115.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + readLocations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParameters_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20231115.DatabaseRestoreResource_STATUS + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20231115.GremlinDatabaseRestoreResource_STATUS + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + tablesToRestore: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20231115.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetworkRules: + items: + description: |- + Storage version of v1api20231115.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + type: object + type: array + writeLocations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the version of the MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + - "4.2" + - "5.0" + - "6.0" + - "7.0" + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + enum: + - Continuous30Days + - Continuous7Days + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + enum: + - Geo + - Local + - Zone + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + minimum: -1 + type: integer + type: object + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer + required: + - allowedOrigins + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + enum: + - Default + - Restore + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + enum: + - Tls + - Tls11 + - Tls12 + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None + type: string + networkAclBypassResourceReferences: + description: |- + NetworkAclBypassResourceReferences: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB + account. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + enum: + - PointInTime + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - databaseAccountOfferType + - locations + - owner + type: object + status: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the version of the MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + type: string + customerManagedKeyStatus: + description: |- + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + items: + description: The failover policy for a given region of a database account. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. + type: string + locationName: + description: 'LocationName: The name of the region in which the database account exists.' + type: string + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceId: + description: 'InstanceId: A unique identifier assigned to the database account' + type: string + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + keysMetadata: + description: 'KeysMetadata: The object that represents the metadata for the Account Keys of the Cosmos DB account.' + properties: + primaryMasterKey: + description: 'PrimaryMasterKey: The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + primaryReadonlyMasterKey: + description: 'PrimaryReadonlyMasterKey: The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryMasterKey: + description: 'SecondaryMasterKey: The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryReadonlyMasterKey: + description: 'SecondaryReadonlyMasterKey: The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + type: object + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + type: object + type: array + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.DatabaseAccount + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.DatabaseAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20240815.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20240815.ApiProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backupPolicy: + description: Storage version of v1api20240815.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20240815.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20240815.ContinuousModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20240815.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20240815.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20240815.Capability + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20240815.Capacity + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20240815.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20240815.CorsPolicy + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + identity: + description: |- + Storage version of v1api20240815.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240815.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + items: + description: |- + Storage version of v1api20240815.IpAddressOrRange + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20240815.Location + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: + type: string + type: object + type: array + minimalTlsVersion: + type: string + networkAclBypass: + type: string + networkAclBypassResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240815.DatabaseAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240815.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParameters + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20240815.DatabaseRestoreResource + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20240815.GremlinDatabaseRestoreResource + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + tablesToRestore: + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + items: + description: |- + Storage version of v1api20240815.VirtualNetworkRule + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240815.DatabaseAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20240815.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20240815.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20240815.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20240815.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20240815.ContinuousModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20240815.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20240815.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20240815.Capability_STATUS + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20240815.Capacity_STATUS + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20240815.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20240815.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + failoverPolicies: + items: + description: |- + Storage version of v1api20240815.FailoverPolicy_STATUS + The failover policy for a given region of a database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + id: + type: string + locationName: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240815.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240815.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instanceId: + type: string + ipRules: + items: + description: |- + Storage version of v1api20240815.IpAddressOrRange_STATUS + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + keysMetadata: + description: |- + Storage version of v1api20240815.DatabaseAccountKeysMetadata_STATUS + The metadata related to each access key for the given Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + primaryReadonlyMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryReadonlyMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + type: object + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + type: string + name: + type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240815.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + readLocations: + items: + description: |- + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParameters_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20240815.DatabaseRestoreResource_STATUS + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20240815.GremlinDatabaseRestoreResource_STATUS + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + tablesToRestore: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20240815.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetworkRules: + items: + description: |- + Storage version of v1api20240815.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + type: object + type: array + writeLocations: + items: + description: |- + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: databases.dbformariadb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformariadb.azure.com + names: + categories: + - azure + - dbformariadb + kind: Database + listKind: DatabaseList + plural: databases + singular: database + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Database + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Database_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.DatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180601.Database_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: databases.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: Database + listKind: DatabaseList + plural: databases + singular: database + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Cluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readWriteDatabase: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + description: 'Kind: Kind of the database' + enum: + - ReadWrite + type: string + location: + description: 'Location: Resource location.' + type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + required: + - kind + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + readWrite: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isFollowed: + description: 'IsFollowed: Indicates whether the database is followed.' + type: boolean + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + kind: + description: 'Kind: Kind of the database' + type: string + location: + description: 'Location: Resource location.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + statistics: + description: 'Statistics: The statistics of the database.' + properties: + size: + description: 'Size: The database size - the total size of compressed data and index in bytes.' + type: number + type: object + suspensionDetails: + description: |- + SuspensionDetails: The database suspension details. If the database is suspended, this object contains information + related to the database's suspension state. + properties: + suspensionStartDate: + description: 'SuspensionStartDate: The starting date and time of the suspension state.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230815.Database + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230815.Database_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230815.DatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Cluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readWriteDatabase: + description: Storage version of v1api20230815.ReadWriteDatabase + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + type: string + location: + type: string + softDeletePeriod: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230815.Database_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + name: + type: string + readWrite: + description: Storage version of v1api20230815.ReadWriteDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + id: + type: string + isFollowed: + type: boolean + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + kind: + type: string + location: + type: string + provisioningState: + type: string + softDeletePeriod: + type: string + statistics: + description: |- + Storage version of v1api20230815.DatabaseStatistics_STATUS + A class that contains database statistics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: number + type: object + suspensionDetails: + description: |- + Storage version of v1api20230815.SuspensionDetails_STATUS + The database suspension details. If the database is suspended, this object contains information related to the + database's suspension state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + suspensionStartDate: + type: string + type: object + type: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Cluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readWriteDatabase: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + description: 'Kind: Kind of the database' + enum: + - ReadWrite + type: string + location: + description: 'Location: Resource location.' + type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + required: + - kind + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + readWrite: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isFollowed: + description: 'IsFollowed: Indicates whether the database is followed.' + type: boolean + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + kind: + description: 'Kind: Kind of the database' + type: string + location: + description: 'Location: Resource location.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + statistics: + description: 'Statistics: The statistics of the database.' + properties: + size: + description: 'Size: The database size - the total size of compressed data and index in bytes.' + type: number + type: object + suspensionDetails: + description: |- + SuspensionDetails: The database suspension details. If the database is suspended, this object contains information + related to the database's suspension state. + properties: + suspensionStartDate: + description: 'SuspensionStartDate: The starting date and time of the suspension state.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240413.Database + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240413.Database_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240413.DatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Cluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readWriteDatabase: + description: Storage version of v1api20240413.ReadWriteDatabase + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + type: string + location: + type: string + softDeletePeriod: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240413.Database_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + name: + type: string + readWrite: + description: Storage version of v1api20240413.ReadWriteDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + id: + type: string + isFollowed: + type: boolean + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + kind: + type: string + location: + type: string + provisioningState: + type: string + softDeletePeriod: + type: string + statistics: + description: |- + Storage version of v1api20240413.DatabaseStatistics_STATUS + A class that contains database statistics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: number + type: object + suspensionDetails: + description: |- + Storage version of v1api20240413.SuspensionDetails_STATUS + The database suspension details. If the database is suspended, this object contains information related to the + database's suspension state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + suspensionStartDate: + type: string + type: object + type: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: datacollectionendpoints.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: DataCollectionEndpoint + listKind: DataCollectionEndpointList + plural: datacollectionendpoints + singular: datacollectionendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionEndpoints_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: Description of the data collection endpoint.' + type: string + identity: + description: 'Identity: Managed service identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: The kind of the resource.' + enum: + - Linux + - Windows + type: string + location: + description: 'Location: The geo-location where the resource lives.' + type: string + networkAcls: + description: 'NetworkAcls: Network access control rules for the endpoints.' + properties: + publicNetworkAccess: + description: 'PublicNetworkAccess: The configuration to set whether network access from public internet to the endpoints are allowed.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Definition of ARM tracked top level resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationAccess: + description: 'ConfigurationAccess: The endpoint used by clients to access their configuration.' + properties: + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' + type: string + type: object + description: + description: 'Description: Description of the data collection endpoint.' + type: string + etag: + description: 'Etag: Resource entity tag (ETag).' + type: string + failoverConfiguration: + description: 'FailoverConfiguration: Failover configuration on this endpoint. This property is READ-ONLY.' + properties: + activeLocation: + description: 'ActiveLocation: Active location where data flow will occur.' + type: string + locations: + description: 'Locations: Locations that are configured for failover.' + items: + properties: + location: + description: 'Location: Name of location.' + type: string + provisioningStatus: + description: 'ProvisioningStatus: The resource provisioning state in this location.' + type: string + type: object + type: array + type: object + id: + description: 'Id: Fully qualified ID of the resource.' + type: string + identity: + description: 'Identity: Managed service identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + immutableId: + description: 'ImmutableId: The immutable ID of this data collection endpoint resource. This property is READ-ONLY.' + type: string + kind: + description: 'Kind: The kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives.' + type: string + logsIngestion: + description: 'LogsIngestion: The endpoint used by clients to ingest logs.' + properties: + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' + type: string + type: object + metadata: + description: 'Metadata: Metadata for the resource. This property is READ-ONLY.' + properties: + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' + type: string + type: object + metricsIngestion: + description: 'MetricsIngestion: The endpoint used by clients to ingest metrics.' + properties: + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' + type: string + type: object + name: + description: 'Name: The name of the resource.' + type: string + networkAcls: + description: 'NetworkAcls: Network access control rules for the endpoints.' + properties: + publicNetworkAccess: + description: 'PublicNetworkAccess: The configuration to set whether network access from public internet to the endpoints are allowed.' + type: string + type: object + privateLinkScopedResources: + description: |- + PrivateLinkScopedResources: List of Azure Monitor Private Link Scope Resources to which this data collection endpoint + resource is associated. This property is READ-ONLY. + items: + properties: + resourceId: + description: |- + ResourceId: The resourceId of the Azure Monitor Private Link Scope Scoped Resource through which this DCE is associated + with a Azure Monitor Private Link Scope. + type: string + scopeId: + description: 'ScopeId: The immutableId of the Azure Monitor Private Link Scope Resource to which the association is.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The resource provisioning state. This property is READ-ONLY.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230311.DataCollectionEndpoint + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionEndpoints_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230311.DataCollectionEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + identity: + description: |- + Storage version of v1api20230311.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230311.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + networkAcls: + description: |- + Storage version of v1api20230311.NetworkRuleSet + Definition of the network rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicNetworkAccess: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230311.DataCollectionEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230311.DataCollectionEndpointResource_STATUS + Definition of ARM tracked top level resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationAccess: + description: |- + Storage version of v1api20230311.ConfigurationAccessEndpointSpec_STATUS + Definition of the endpoint used for accessing configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + type: object + description: + type: string + etag: + type: string + failoverConfiguration: + description: Storage version of v1api20230311.FailoverConfigurationSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeLocation: + type: string + locations: + items: + description: Storage version of v1api20230311.LocationSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + provisioningStatus: + type: string + type: object + type: array + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20230311.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230311.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + immutableId: + type: string + kind: + type: string + location: + type: string + logsIngestion: + description: |- + Storage version of v1api20230311.LogsIngestionEndpointSpec_STATUS + Definition of the endpoint used for ingesting logs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + type: object + metadata: + description: |- + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisionedBy: + type: string + provisionedByImmutableId: + type: string + provisionedByResourceId: + type: string + type: object + metricsIngestion: + description: |- + Storage version of v1api20230311.MetricsIngestionEndpointSpec_STATUS + Definition of the endpoint used for ingesting metrics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + type: object + name: + type: string + networkAcls: + description: |- + Storage version of v1api20230311.NetworkRuleSet_STATUS + Definition of the network rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicNetworkAccess: + type: string + type: object + privateLinkScopedResources: + items: + description: Storage version of v1api20230311.PrivateLinkScopedResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + scopeId: + type: string + type: object + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230311.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: datacollectionruleassociations.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: DataCollectionRuleAssociation + listKind: DataCollectionRuleAssociationList + plural: datacollectionruleassociations + singular: datacollectionruleassociation + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRuleAssociations_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataCollectionRuleReference: + description: 'DataCollectionRuleReference: The resource ID of the data collection rule that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: Description of the association.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Definition of generic ARM proxy resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataCollectionEndpointId: + description: 'DataCollectionEndpointId: The resource ID of the data collection endpoint that is to be associated.' + type: string + dataCollectionRuleId: + description: 'DataCollectionRuleId: The resource ID of the data collection rule that is to be associated.' + type: string + description: + description: 'Description: Description of the association.' + type: string + etag: + description: 'Etag: Resource entity tag (ETag).' + type: string + id: + description: 'Id: Fully qualified ID of the resource.' + type: string + metadata: + description: 'Metadata: Metadata about the resource' + properties: + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' + type: string + type: object + name: + description: 'Name: The name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The resource provisioning state.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230311.DataCollectionRuleAssociation + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRuleAssociations_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230311.DataCollectionRuleAssociation_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataCollectionRuleReference: + description: 'DataCollectionRuleReference: The resource ID of the data collection rule that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20230311.DataCollectionRuleAssociationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230311.DataCollectionRuleAssociationProxyOnlyResource_STATUS + Definition of generic ARM proxy resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataCollectionEndpointId: + type: string + dataCollectionRuleId: + type: string + description: + type: string + etag: + type: string + id: + type: string + metadata: + description: |- + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisionedBy: + type: string + provisionedByImmutableId: + type: string + provisionedByResourceId: + type: string + type: object + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230311.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: datacollectionrules.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: DataCollectionRule + listKind: DataCollectionRuleList + plural: datacollectionrules + singular: datacollectionrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRules_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + agentSettings: + description: 'AgentSettings: Agent settings used to modify agent behavior on a given host' + properties: + logs: + description: 'Logs: All the settings that are applicable to the logs agent (AMA)' + items: + description: A setting used to control an agent behavior on a host machine + properties: + name: + description: |- + Name: The name of the setting. + Must be part of the list of supported settings + enum: + - MaxDiskQuotaInMB + - UseTimeReceivedForForwardedEvents + type: string + value: + description: 'Value: The value of the setting' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that this rule can be used with.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataFlows: + description: 'DataFlows: The specification of data flows.' + items: + description: Definition of which streams are sent to which destinations. + properties: + builtInTransform: + description: 'BuiltInTransform: The builtIn transform to transform stream data' + type: string + captureOverflow: + description: 'CaptureOverflow: Flag to enable overflow column in LA destinations' + type: boolean + destinations: + description: 'Destinations: List of destinations for this data flow.' + items: + type: string + type: array + outputStream: + description: 'OutputStream: The output stream of the transform. Only required if the transform changes data to a different stream.' + type: string + streams: + description: 'Streams: List of streams for this data flow.' + items: + enum: + - Microsoft-Event + - Microsoft-InsightsMetrics + - Microsoft-Perf + - Microsoft-Syslog + - Microsoft-WindowsEvent + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform stream data.' + type: string + type: object + type: array + dataSources: + description: |- + DataSources: The specification of data sources. + This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned + endpoint. + properties: + dataImports: + description: 'DataImports: Specifications of pull based data sources' + properties: + eventHub: + description: 'EventHub: Definition of Event Hub configuration.' + properties: + consumerGroup: + description: 'ConsumerGroup: Event Hub consumer group name' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + stream: + description: 'Stream: The stream to collect from EventHub' + type: string + type: object + type: object + extensions: + description: 'Extensions: The list of Azure VM extension data source configurations.' + items: + description: |- + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + extensionName: + description: 'ExtensionName: The name of the VM extension.' + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ExtensionSettings: The extension settings. The format is specific for particular extension.' + type: object + inputDataSources: + description: 'InputDataSources: The list of data sources this extension needs data from.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Event + - Microsoft-InsightsMetrics + - Microsoft-Perf + - Microsoft-Syslog + - Microsoft-WindowsEvent + type: string + type: array + required: + - extensionName + type: object + type: array + iisLogs: + description: 'IisLogs: The list of IIS logs source configurations.' + items: + description: Enables IIS logs to be collected by this data collection rule. + properties: + logDirectories: + description: 'LogDirectories: Absolute paths file location' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: IIS streams' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + required: + - streams + type: object + type: array + logFiles: + description: 'LogFiles: The list of Log files source configurations.' + items: + description: Definition of which custom log files will be collected by this data collection rule + properties: + filePatterns: + description: 'FilePatterns: File Patterns where the log files are located' + items: + type: string + type: array + format: + description: 'Format: The data format of the log files' + enum: + - json + - text + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + settings: + description: 'Settings: The log files specific settings.' + properties: + text: + description: 'Text: Text settings' + properties: + recordStartTimestampFormat: + description: 'RecordStartTimestampFormat: One of the supported timestamp formats' + enum: + - dd/MMM/yyyy:HH:mm:ss zzz + - ddMMyy HH:mm:ss + - ISO 8601 + - M/D/YYYY HH:MM:SS AM/PM + - MMM d hh:mm:ss + - Mon DD, YYYY HH:MM:SS + - YYYY-MM-DD HH:MM:SS + - yyMMdd HH:mm:ss + - yyyy-MM-ddTHH:mm:ssK + type: string + required: + - recordStartTimestampFormat + type: object + type: object + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data source + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + required: + - filePatterns + - format + - streams + type: object + type: array + performanceCounters: + description: 'PerformanceCounters: The list of performance counter data source configurations.' + items: + description: |- + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + counterSpecifiers: + description: |- + CounterSpecifiers: A list of specifier names of the performance counters you want to collect. + Use a wildcard (*) to collect a counter for all instances. + To get a list of performance counters on Windows, run the command 'typeperf'. + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + samplingFrequencyInSeconds: + description: 'SamplingFrequencyInSeconds: The number of seconds between consecutive counter measurements (samples).' + type: integer + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-InsightsMetrics + - Microsoft-Perf + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + platformTelemetry: + description: 'PlatformTelemetry: The list of platform telemetry configurations' + items: + description: Definition of platform telemetry data source configuration + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of platform telemetry streams to collect' + items: + type: string + type: array + required: + - streams + type: object + type: array + prometheusForwarder: + description: 'PrometheusForwarder: The list of Prometheus forwarder data source configurations.' + items: + description: Definition of Prometheus metrics forwarding configuration. + properties: + labelIncludeFilter: + additionalProperties: + type: string + description: |- + LabelIncludeFilter: The list of label inclusion filters in the form of label "name-value" pairs. + Currently only one label is supported: 'microsoft_metrics_include_label'. + Label values are matched case-insensitively. + type: object + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of streams that this data source will be sent to.' + items: + enum: + - Microsoft-PrometheusMetrics + type: string + type: array + type: object + type: array + syslog: + description: 'Syslog: The list of Syslog data source configurations.' + items: + description: |- + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + facilityNames: + description: 'FacilityNames: The list of facility names.' + items: + enum: + - alert + - audit + - auth + - authpriv + - clock + - cron + - daemon + - ftp + - kern + - local0 + - local1 + - local2 + - local3 + - local4 + - local5 + - local6 + - local7 + - lpr + - mail + - mark + - news + - nopri + - ntp + - '*' + - syslog + - user + - uucp + type: string + type: array + logLevels: + description: 'LogLevels: The log levels to collect.' + items: + enum: + - Alert + - Critical + - Debug + - Emergency + - Error + - Info + - Notice + - '*' + - Warning + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Syslog + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + windowsEventLogs: + description: 'WindowsEventLogs: The list of Windows Event Log data source configurations.' + items: + description: |- + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Event + - Microsoft-WindowsEvent + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + xPathQueries: + description: 'XPathQueries: A list of Windows Event Log queries in XPATH format.' + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + description: 'WindowsFirewallLogs: The list of Windows Firewall logs source configurations.' + items: + description: Enables Firewall logs to be collected by this data collection rule. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + profileFilter: + description: 'ProfileFilter: Firewall logs profile filter' + items: + enum: + - Domain + - Private + - Public + type: string + type: array + streams: + description: 'Streams: Firewall logs streams' + items: + type: string + type: array + required: + - streams + type: object + type: array + type: object + description: + description: 'Description: Description of the data collection rule.' + type: string + destinations: + description: 'Destinations: The specification of destinations.' + properties: + azureDataExplorer: + description: 'AzureDataExplorer: List of Azure Data Explorer destinations.' + items: + description: Azure Data Explorer (Adx) destination. + properties: + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the Adx resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureMonitorMetrics: + description: 'AzureMonitorMetrics: Azure Monitor Metrics destination.' + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + eventHubs: + description: 'EventHubs: List of Event Hubs destinations.' + items: + properties: + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + eventHubsDirect: + description: 'EventHubsDirect: List of Event Hubs Direct destinations.' + items: + properties: + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + logAnalytics: + description: 'LogAnalytics: List of Log Analytics destinations.' + items: + description: Log Analytics destination. + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: The resource ID of the Log Analytics workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + microsoftFabric: + description: 'MicrosoftFabric: List of Microsoft Fabric destinations.' + items: + description: Microsoft Fabric destination (non-Azure). + properties: + artifactId: + description: 'ArtifactId: The artifact id of the Microsoft Fabric resource.' + type: string + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Microsoft Fabric resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + tenantId: + description: 'TenantId: The tenant id of the Microsoft Fabric resource.' + type: string + type: object + type: array + monitoringAccounts: + description: 'MonitoringAccounts: List of monitoring account destinations.' + items: + description: Monitoring account destination. + properties: + accountResourceReference: + description: 'AccountResourceReference: The resource ID of the monitoring account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + storageAccounts: + description: 'StorageAccounts: List of storage accounts destinations.' + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageBlobsDirect: + description: |- + StorageBlobsDirect: List of Storage Blob Direct destinations. To be used only for sending data directly to store from + the agent. + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageTablesDirect: + description: 'StorageTablesDirect: List of Storage Table Direct destinations.' + items: + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The name of the Storage Table.' + type: string + type: object + type: array + type: object + identity: + description: 'Identity: Managed service identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: The kind of the resource.' + enum: + - Linux + - Windows + type: string + location: + description: 'Location: The geo-location where the resource lives.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + references: + description: 'References: Defines all the references that may be used in other sections of the DCR' + properties: + enrichmentData: + description: 'EnrichmentData: All the enrichment data sources referenced in data flows' + properties: + storageBlobs: + description: 'StorageBlobs: All the storage blobs used as enrichment data sources' + items: + properties: + blobUrl: + description: 'BlobUrl: Url of the storage blob' + type: string + lookupType: + description: 'LookupType: The type of lookup to perform on the blob' + enum: + - Cidr + - String + type: string + name: + description: 'Name: The name of the enrichment data source used as an alias when referencing this data source in data flows' + type: string + resourceReference: + description: 'ResourceReference: Resource Id of the storage account that hosts the blob' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: Declaration of a custom stream. + properties: + columns: + description: 'Columns: List of columns used by data in this stream.' + items: + description: Definition of custom data column. + properties: + name: + description: 'Name: The name of the column.' + type: string + type: + description: 'Type: The type of the column data.' + enum: + - boolean + - datetime + - dynamic + - int + - long + - real + - string + type: string + type: object + type: array + type: object + description: 'StreamDeclarations: Declaration of custom streams used in this rule.' + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Definition of ARM tracked top level resource. + properties: + agentSettings: + description: 'AgentSettings: Agent settings used to modify agent behavior on a given host' + properties: + logs: + description: 'Logs: All the settings that are applicable to the logs agent (AMA)' + items: + description: A setting used to control an agent behavior on a host machine + properties: + name: + description: |- + Name: The name of the setting. + Must be part of the list of supported settings + type: string + value: + description: 'Value: The value of the setting' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataCollectionEndpointId: + description: 'DataCollectionEndpointId: The resource ID of the data collection endpoint that this rule can be used with.' + type: string + dataFlows: + description: 'DataFlows: The specification of data flows.' + items: + description: Definition of which streams are sent to which destinations. + properties: + builtInTransform: + description: 'BuiltInTransform: The builtIn transform to transform stream data' + type: string + captureOverflow: + description: 'CaptureOverflow: Flag to enable overflow column in LA destinations' + type: boolean + destinations: + description: 'Destinations: List of destinations for this data flow.' + items: + type: string + type: array + outputStream: + description: 'OutputStream: The output stream of the transform. Only required if the transform changes data to a different stream.' + type: string + streams: + description: 'Streams: List of streams for this data flow.' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform stream data.' + type: string + type: object + type: array + dataSources: + description: |- + DataSources: The specification of data sources. + This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned + endpoint. + properties: + dataImports: + description: 'DataImports: Specifications of pull based data sources' + properties: + eventHub: + description: 'EventHub: Definition of Event Hub configuration.' + properties: + consumerGroup: + description: 'ConsumerGroup: Event Hub consumer group name' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + stream: + description: 'Stream: The stream to collect from EventHub' + type: string + type: object + type: object + extensions: + description: 'Extensions: The list of Azure VM extension data source configurations.' + items: + description: |- + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + extensionName: + description: 'ExtensionName: The name of the VM extension.' + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ExtensionSettings: The extension settings. The format is specific for particular extension.' + type: object + inputDataSources: + description: 'InputDataSources: The list of data sources this extension needs data from.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + type: object + type: array + iisLogs: + description: 'IisLogs: The list of IIS logs source configurations.' + items: + description: Enables IIS logs to be collected by this data collection rule. + properties: + logDirectories: + description: 'LogDirectories: Absolute paths file location' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: IIS streams' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + logFiles: + description: 'LogFiles: The list of Log files source configurations.' + items: + description: Definition of which custom log files will be collected by this data collection rule + properties: + filePatterns: + description: 'FilePatterns: File Patterns where the log files are located' + items: + type: string + type: array + format: + description: 'Format: The data format of the log files' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + settings: + description: 'Settings: The log files specific settings.' + properties: + text: + description: 'Text: Text settings' + properties: + recordStartTimestampFormat: + description: 'RecordStartTimestampFormat: One of the supported timestamp formats' + type: string + type: object + type: object + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data source + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + performanceCounters: + description: 'PerformanceCounters: The list of performance counter data source configurations.' + items: + description: |- + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + counterSpecifiers: + description: |- + CounterSpecifiers: A list of specifier names of the performance counters you want to collect. + Use a wildcard (*) to collect a counter for all instances. + To get a list of performance counters on Windows, run the command 'typeperf'. + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + samplingFrequencyInSeconds: + description: 'SamplingFrequencyInSeconds: The number of seconds between consecutive counter measurements (samples).' + type: integer + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + platformTelemetry: + description: 'PlatformTelemetry: The list of platform telemetry configurations' + items: + description: Definition of platform telemetry data source configuration + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of platform telemetry streams to collect' + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + description: 'PrometheusForwarder: The list of Prometheus forwarder data source configurations.' + items: + description: Definition of Prometheus metrics forwarding configuration. + properties: + labelIncludeFilter: + additionalProperties: + type: string + description: |- + LabelIncludeFilter: The list of label inclusion filters in the form of label "name-value" pairs. + Currently only one label is supported: 'microsoft_metrics_include_label'. + Label values are matched case-insensitively. + type: object + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of streams that this data source will be sent to.' + items: + type: string + type: array + type: object + type: array + syslog: + description: 'Syslog: The list of Syslog data source configurations.' + items: + description: |- + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + facilityNames: + description: 'FacilityNames: The list of facility names.' + items: + type: string + type: array + logLevels: + description: 'LogLevels: The log levels to collect.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + windowsEventLogs: + description: 'WindowsEventLogs: The list of Windows Event Log data source configurations.' + items: + description: |- + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + xPathQueries: + description: 'XPathQueries: A list of Windows Event Log queries in XPATH format.' + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + description: 'WindowsFirewallLogs: The list of Windows Firewall logs source configurations.' + items: + description: Enables Firewall logs to be collected by this data collection rule. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + profileFilter: + description: 'ProfileFilter: Firewall logs profile filter' + items: + type: string + type: array + streams: + description: 'Streams: Firewall logs streams' + items: + type: string + type: array + type: object + type: array + type: object + description: + description: 'Description: Description of the data collection rule.' + type: string + destinations: + description: 'Destinations: The specification of destinations.' + properties: + azureDataExplorer: + description: 'AzureDataExplorer: List of Azure Data Explorer destinations.' + items: + description: Azure Data Explorer (Adx) destination. + properties: + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Adx resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the Adx resource.' + type: string + type: object + type: array + azureMonitorMetrics: + description: 'AzureMonitorMetrics: Azure Monitor Metrics destination.' + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + eventHubs: + description: 'EventHubs: List of Event Hubs destinations.' + items: + properties: + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + eventHubsDirect: + description: 'EventHubsDirect: List of Event Hubs Direct destinations.' + items: + properties: + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + logAnalytics: + description: 'LogAnalytics: List of Log Analytics destinations.' + items: + description: Log Analytics destination. + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + workspaceId: + description: 'WorkspaceId: The Customer ID of the Log Analytics workspace.' + type: string + workspaceResourceId: + description: 'WorkspaceResourceId: The resource ID of the Log Analytics workspace.' + type: string + type: object + type: array + microsoftFabric: + description: 'MicrosoftFabric: List of Microsoft Fabric destinations.' + items: + description: Microsoft Fabric destination (non-Azure). + properties: + artifactId: + description: 'ArtifactId: The artifact id of the Microsoft Fabric resource.' + type: string + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Microsoft Fabric resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + tenantId: + description: 'TenantId: The tenant id of the Microsoft Fabric resource.' + type: string + type: object + type: array + monitoringAccounts: + description: 'MonitoringAccounts: List of monitoring account destinations.' + items: + description: Monitoring account destination. + properties: + accountId: + description: 'AccountId: The immutable ID of the account.' + type: string + accountResourceId: + description: 'AccountResourceId: The resource ID of the monitoring account.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + storageAccounts: + description: 'StorageAccounts: List of storage accounts destinations.' + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + type: object + type: array + storageBlobsDirect: + description: |- + StorageBlobsDirect: List of Storage Blob Direct destinations. To be used only for sending data directly to store from + the agent. + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + type: object + type: array + storageTablesDirect: + description: 'StorageTablesDirect: List of Storage Table Direct destinations.' + items: + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + tableName: + description: 'TableName: The name of the Storage Table.' + type: string + type: object + type: array + type: object + endpoints: + description: 'Endpoints: Defines the ingestion endpoints to send data to via this rule.' + properties: + logsIngestion: + description: 'LogsIngestion: The ingestion endpoint for logs' + type: string + metricsIngestion: + description: 'MetricsIngestion: The ingestion endpoint for metrics' + type: string + type: object + etag: + description: 'Etag: Resource entity tag (ETag).' + type: string + id: + description: 'Id: Fully qualified ID of the resource.' + type: string + identity: + description: 'Identity: Managed service identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + immutableId: + description: 'ImmutableId: The immutable ID of this data collection rule. This property is READ-ONLY.' + type: string + kind: + description: 'Kind: The kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives.' + type: string + metadata: + description: 'Metadata: Metadata about the resource' + properties: + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' + type: string + type: object + name: + description: 'Name: The name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The resource provisioning state.' + type: string + references: + description: 'References: Defines all the references that may be used in other sections of the DCR' + properties: + enrichmentData: + description: 'EnrichmentData: All the enrichment data sources referenced in data flows' + properties: + storageBlobs: + description: 'StorageBlobs: All the storage blobs used as enrichment data sources' + items: + properties: + blobUrl: + description: 'BlobUrl: Url of the storage blob' + type: string + lookupType: + description: 'LookupType: The type of lookup to perform on the blob' + type: string + name: + description: 'Name: The name of the enrichment data source used as an alias when referencing this data source in data flows' + type: string + resourceId: + description: 'ResourceId: Resource Id of the storage account that hosts the blob' + type: string + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: Declaration of a custom stream. + properties: + columns: + description: 'Columns: List of columns used by data in this stream.' + items: + description: Definition of custom data column. + properties: + name: + description: 'Name: The name of the column.' + type: string + type: + description: 'Type: The type of the column data.' + type: string + type: object + type: array + type: object + description: 'StreamDeclarations: Declaration of custom streams used in this rule.' + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230311storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230311.DataCollectionRule + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRules_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230311.DataCollectionRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentSettings: + description: |- + Storage version of v1api20230311.AgentSettingsSpec + An agent setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logs: + items: + description: |- + Storage version of v1api20230311.AgentSetting + A setting used to control an agent behavior on a host machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that this rule can be used with.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataFlows: + items: + description: |- + Storage version of v1api20230311.DataFlow + Definition of which streams are sent to which destinations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + builtInTransform: + type: string + captureOverflow: + type: boolean + destinations: + items: + type: string + type: array + outputStream: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + dataSources: + description: |- + Storage version of v1api20230311.DataSourcesSpec + Specification of data sources that will be collected. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataImports: + description: Storage version of v1api20230311.DataImportSources + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHub: + description: Storage version of v1api20230311.EventHubDataSource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + name: + type: string + stream: + type: string + type: object + type: object + extensions: + items: + description: |- + Storage version of v1api20230311.ExtensionDataSource + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensionName: + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + inputDataSources: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + iisLogs: + items: + description: |- + Storage version of v1api20230311.IisLogsDataSource + Enables IIS logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logDirectories: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + logFiles: + items: + description: |- + Storage version of v1api20230311.LogFilesDataSource + Definition of which custom log files will be collected by this data collection rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + filePatterns: + items: + type: string + type: array + format: + type: string + name: + type: string + settings: + description: |- + Storage version of v1api20230311.LogFileSettings + Settings for different log file formats + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + text: + description: |- + Storage version of v1api20230311.LogFileTextSettings + Settings for text log files + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + recordStartTimestampFormat: + type: string + type: object + type: object + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + performanceCounters: + items: + description: |- + Storage version of v1api20230311.PerfCounterDataSource + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + counterSpecifiers: + items: + type: string + type: array + name: + type: string + samplingFrequencyInSeconds: + type: integer + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + platformTelemetry: + items: + description: |- + Storage version of v1api20230311.PlatformTelemetryDataSource + Definition of platform telemetry data source configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + items: + description: |- + Storage version of v1api20230311.PrometheusForwarderDataSource + Definition of Prometheus metrics forwarding configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + labelIncludeFilter: + additionalProperties: + type: string + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + syslog: + items: + description: |- + Storage version of v1api20230311.SyslogDataSource + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + facilityNames: + items: + type: string + type: array + logLevels: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + windowsEventLogs: + items: + description: |- + Storage version of v1api20230311.WindowsEventLogDataSource + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + xPathQueries: + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + items: + description: |- + Storage version of v1api20230311.WindowsFirewallLogsDataSource + Enables Firewall logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + profileFilter: + items: + type: string + type: array + streams: + items: + type: string + type: array + type: object + type: array + type: object + description: + type: string + destinations: + description: |- + Storage version of v1api20230311.DestinationsSpec + Specification of destinations that can be used in data flows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDataExplorer: + items: + description: |- + Storage version of v1api20230311.AdxDestination + Azure Data Explorer (Adx) destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the Adx resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureMonitorMetrics: + description: |- + Storage version of v1api20230311.AzureMonitorMetricsDestination + Azure Monitor Metrics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + eventHubs: + items: + description: Storage version of v1api20230311.EventHubDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + eventHubsDirect: + items: + description: Storage version of v1api20230311.EventHubDirectDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + logAnalytics: + items: + description: |- + Storage version of v1api20230311.LogAnalyticsDestination + Log Analytics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: The resource ID of the Log Analytics workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + microsoftFabric: + items: + description: |- + Storage version of v1api20230311.MicrosoftFabricDestination + Microsoft Fabric destination (non-Azure). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactId: + type: string + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + tenantId: + type: string + type: object + type: array + monitoringAccounts: + items: + description: |- + Storage version of v1api20230311.MonitoringAccountDestination + Monitoring account destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountResourceReference: + description: 'AccountResourceReference: The resource ID of the monitoring account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + storageAccounts: + items: + description: Storage version of v1api20230311.StorageBlobDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageBlobsDirect: + items: + description: Storage version of v1api20230311.StorageBlobDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageTablesDirect: + items: + description: Storage version of v1api20230311.StorageTableDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + type: string + type: object + type: array + type: object + identity: + description: |- + Storage version of v1api20230311.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230311.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230311.DataCollectionRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + references: + description: |- + Storage version of v1api20230311.ReferencesSpec + This section defines all the references that may be used in other sections of the DCR + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enrichmentData: + description: |- + Storage version of v1api20230311.EnrichmentData + All the enrichment data sources referenced in data flows + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlobs: + items: + description: Storage version of v1api20230311.StorageBlob + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUrl: + type: string + lookupType: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: Resource Id of the storage account that hosts the blob' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: |- + Storage version of v1api20230311.StreamDeclaration + Declaration of a custom stream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + columns: + items: + description: |- + Storage version of v1api20230311.ColumnDefinition + Definition of custom data column. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230311.DataCollectionRuleResource_STATUS + Definition of ARM tracked top level resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentSettings: + description: |- + Storage version of v1api20230311.AgentSettingsSpec_STATUS + An agent setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logs: + items: + description: |- + Storage version of v1api20230311.AgentSetting_STATUS + A setting used to control an agent behavior on a host machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataCollectionEndpointId: + type: string + dataFlows: + items: + description: |- + Storage version of v1api20230311.DataFlow_STATUS + Definition of which streams are sent to which destinations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + builtInTransform: + type: string + captureOverflow: + type: boolean + destinations: + items: + type: string + type: array + outputStream: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + dataSources: + description: |- + Storage version of v1api20230311.DataSourcesSpec_STATUS + Specification of data sources that will be collected. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataImports: + description: Storage version of v1api20230311.DataImportSources_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHub: + description: Storage version of v1api20230311.EventHubDataSource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + name: + type: string + stream: + type: string + type: object + type: object + extensions: + items: + description: |- + Storage version of v1api20230311.ExtensionDataSource_STATUS + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensionName: + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + inputDataSources: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + iisLogs: + items: + description: |- + Storage version of v1api20230311.IisLogsDataSource_STATUS + Enables IIS logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logDirectories: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + logFiles: + items: + description: |- + Storage version of v1api20230311.LogFilesDataSource_STATUS + Definition of which custom log files will be collected by this data collection rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + filePatterns: + items: + type: string + type: array + format: + type: string + name: + type: string + settings: + description: |- + Storage version of v1api20230311.LogFileSettings_STATUS + Settings for different log file formats + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + text: + description: |- + Storage version of v1api20230311.LogFileTextSettings_STATUS + Settings for text log files + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + recordStartTimestampFormat: + type: string + type: object + type: object + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + performanceCounters: + items: + description: |- + Storage version of v1api20230311.PerfCounterDataSource_STATUS + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + counterSpecifiers: + items: + type: string + type: array + name: + type: string + samplingFrequencyInSeconds: + type: integer + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + platformTelemetry: + items: + description: |- + Storage version of v1api20230311.PlatformTelemetryDataSource_STATUS + Definition of platform telemetry data source configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + items: + description: |- + Storage version of v1api20230311.PrometheusForwarderDataSource_STATUS + Definition of Prometheus metrics forwarding configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + labelIncludeFilter: + additionalProperties: + type: string + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + syslog: + items: + description: |- + Storage version of v1api20230311.SyslogDataSource_STATUS + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + facilityNames: + items: + type: string + type: array + logLevels: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + windowsEventLogs: + items: + description: |- + Storage version of v1api20230311.WindowsEventLogDataSource_STATUS + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + xPathQueries: + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + items: + description: |- + Storage version of v1api20230311.WindowsFirewallLogsDataSource_STATUS + Enables Firewall logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + profileFilter: + items: + type: string + type: array + streams: + items: + type: string + type: array + type: object + type: array + type: object + description: + type: string + destinations: + description: |- + Storage version of v1api20230311.DestinationsSpec_STATUS + Specification of destinations that can be used in data flows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDataExplorer: + items: + description: |- + Storage version of v1api20230311.AdxDestination_STATUS + Azure Data Explorer (Adx) destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + resourceId: + type: string + type: object + type: array + azureMonitorMetrics: + description: |- + Storage version of v1api20230311.AzureMonitorMetricsDestination_STATUS + Azure Monitor Metrics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + eventHubs: + items: + description: Storage version of v1api20230311.EventHubDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceId: + type: string + name: + type: string + type: object + type: array + eventHubsDirect: + items: + description: Storage version of v1api20230311.EventHubDirectDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceId: + type: string + name: + type: string + type: object + type: array + logAnalytics: + items: + description: |- + Storage version of v1api20230311.LogAnalyticsDestination_STATUS + Log Analytics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + workspaceId: + type: string + workspaceResourceId: + type: string + type: object + type: array + microsoftFabric: + items: + description: |- + Storage version of v1api20230311.MicrosoftFabricDestination_STATUS + Microsoft Fabric destination (non-Azure). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactId: + type: string + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + tenantId: + type: string + type: object + type: array + monitoringAccounts: + items: + description: |- + Storage version of v1api20230311.MonitoringAccountDestination_STATUS + Monitoring account destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountId: + type: string + accountResourceId: + type: string + name: + type: string + type: object + type: array + storageAccounts: + items: + description: Storage version of v1api20230311.StorageBlobDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceId: + type: string + type: object + type: array + storageBlobsDirect: + items: + description: Storage version of v1api20230311.StorageBlobDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceId: + type: string + type: object + type: array + storageTablesDirect: + items: + description: Storage version of v1api20230311.StorageTableDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: object + type: array + type: object + endpoints: + description: |- + Storage version of v1api20230311.EndpointsSpec_STATUS + This defines all the ingestion endpoints that can be used by this rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logsIngestion: + type: string + metricsIngestion: + type: string + type: object + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230311.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230311.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + immutableId: + type: string + kind: + type: string + location: + type: string + metadata: + description: |- + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisionedBy: + type: string + provisionedByImmutableId: + type: string + provisionedByResourceId: + type: string + type: object + name: + type: string + provisioningState: + type: string + references: + description: |- + Storage version of v1api20230311.ReferencesSpec_STATUS + This section defines all the references that may be used in other sections of the DCR + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enrichmentData: + description: |- + Storage version of v1api20230311.EnrichmentData_STATUS + All the enrichment data sources referenced in data flows + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlobs: + items: + description: Storage version of v1api20230311.StorageBlob_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUrl: + type: string + lookupType: + type: string + name: + type: string + resourceId: + type: string + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: |- + Storage version of v1api20230311.StreamDeclaration_STATUS + Declaration of a custom stream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + columns: + items: + description: |- + Storage version of v1api20230311.ColumnDefinition_STATUS + Definition of custom data column. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20230311.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dataconnections.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: DataConnection + listKind: DataConnectionList + plural: dataconnections + singular: dataconnection + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + cosmosDbDataConnection: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - CosmosDb + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + required: + - cosmosDbAccountResourceReference + - cosmosDbContainer + - cosmosDbDatabase + - kind + - managedIdentityResourceReference + - tableName + type: object + eventGridDataConnection: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + enum: + - Microsoft.Storage.BlobCreated + - Microsoft.Storage.BlobRenamed + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventGrid + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + enum: + - GZip + - None + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventHub + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + type: object + iotHubDataConnection: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - IotHub + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - iotHubResourceReference + - kind + - sharedAccessPolicyName + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cosmosDb: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceId: + description: 'CosmosDbAccountResourceId: The resource ID of the Cosmos DB account used to create the data connection.' + type: string + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managed identity resource.' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + type: string + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventGrid: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventGridResourceId: + description: 'EventGridResourceId: The resource ID of the event grid that is subscribed to the storage account events.' + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID where the event grid is configured to send events.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub and storage account. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account where the data resides.' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub to be used to create a data connection.' + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + iotHub: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + iotHubResourceId: + description: 'IotHubResourceId: The resource ID of the Iot hub to be used to create a data connection.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230815.DataConnection + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230815.DataConnection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cosmosDbDataConnection: + description: Storage version of v1api20230815.CosmosDbDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - cosmosDbAccountResourceReference + - managedIdentityResourceReference + type: object + eventGridDataConnection: + description: Storage version of v1api20230815.EventGridDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + type: string + required: + - eventHubResourceReference + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: Storage version of v1api20230815.EventHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + items: + type: string + type: array + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - eventHubResourceReference + type: object + iotHubDataConnection: + description: Storage version of v1api20230815.IotHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + type: string + mappingRuleName: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + required: + - iotHubResourceReference + type: object + operatorSpec: + description: |- + Storage version of v1api20230815.DataConnectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230815.DataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cosmosDb: + description: Storage version of v1api20230815.CosmosDbDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceId: + type: string + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + eventGrid: + description: Storage version of v1api20230815.EventGridDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceId: + type: string + eventHubResourceId: + type: string + id: + type: string + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: + type: string + type: object + eventHub: + description: Storage version of v1api20230815.EventHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceId: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + iotHub: + description: Storage version of v1api20230815.IotHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + iotHubResourceId: + type: string + kind: + type: string + location: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + type: + type: string + type: object + name: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + cosmosDbDataConnection: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - CosmosDb + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + required: + - cosmosDbAccountResourceReference + - cosmosDbContainer + - cosmosDbDatabase + - kind + - managedIdentityResourceReference + - tableName + type: object + eventGridDataConnection: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + enum: + - Microsoft.Storage.BlobCreated + - Microsoft.Storage.BlobRenamed + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventGrid + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + enum: + - GZip + - None + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventHub + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + type: object + iotHubDataConnection: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - IotHub + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - iotHubResourceReference + - kind + - sharedAccessPolicyName + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cosmosDb: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceId: + description: 'CosmosDbAccountResourceId: The resource ID of the Cosmos DB account used to create the data connection.' + type: string + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managed identity resource.' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + type: string + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventGrid: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventGridResourceId: + description: 'EventGridResourceId: The resource ID of the event grid that is subscribed to the storage account events.' + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID where the event grid is configured to send events.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub and storage account. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account where the data resides.' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub to be used to create a data connection.' + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + iotHub: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + iotHubResourceId: + description: 'IotHubResourceId: The resource ID of the Iot hub to be used to create a data connection.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240413.DataConnection + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240413.DataConnection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cosmosDbDataConnection: + description: Storage version of v1api20240413.CosmosDbDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - cosmosDbAccountResourceReference + - managedIdentityResourceReference + type: object + eventGridDataConnection: + description: Storage version of v1api20240413.EventGridDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + type: string + required: + - eventHubResourceReference + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: Storage version of v1api20240413.EventHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + items: + type: string + type: array + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - eventHubResourceReference + type: object + iotHubDataConnection: + description: Storage version of v1api20240413.IotHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + type: string + mappingRuleName: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + required: + - iotHubResourceReference + type: object + operatorSpec: + description: |- + Storage version of v1api20240413.DataConnectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240413.DataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cosmosDb: + description: Storage version of v1api20240413.CosmosDbDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceId: + type: string + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + eventGrid: + description: Storage version of v1api20240413.EventGridDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceId: + type: string + eventHubResourceId: + type: string + id: + type: string + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: + type: string + type: object + eventHub: + description: Storage version of v1api20240413.EventHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceId: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + iotHub: + description: Storage version of v1api20240413.IotHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + iotHubResourceId: + type: string + kind: + type: string + location: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + type: + type: string + type: object + name: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: deployments.cognitiveservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cognitiveservices.azure.com + names: + categories: + - azure + - cognitiveservices + kind: Deployment + listKind: DeploymentList + plural: deployments + singular: deployment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cognitiveservices.azure.com/Account resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of Cognitive Services account deployment.' + properties: + capacitySettings: + description: 'CapacitySettings: Internal use only.' + properties: + designatedCapacity: + description: 'DesignatedCapacity: The designated capacity.' + minimum: 0 + type: integer + priority: + description: 'Priority: The priority of this capacity setting.' + minimum: 0 + type: integer + type: object + model: + description: 'Model: Properties of Cognitive Services account deployment model.' + properties: + format: + description: 'Format: Deployment model format.' + type: string + formatFromConfig: + description: 'FormatFromConfig: Deployment model format.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Deployment model name.' + type: string + nameFromConfig: + description: 'NameFromConfig: Deployment model name.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publisher: + description: 'Publisher: Deployment model publisher.' + type: string + publisherFromConfig: + description: 'PublisherFromConfig: Deployment model publisher.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceAccountReference: + description: 'SourceAccountReference: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceReference: + description: 'SourceReference: Optional. Deployment model source ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + version: + description: |- + Version: Optional. Deployment model version. If version is not specified, a default version will be assigned. The + default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + type: string + versionFromConfig: + description: |- + VersionFromConfig: Optional. Deployment model version. If version is not specified, a default version will be assigned. + The default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + parentDeploymentName: + description: 'ParentDeploymentName: The name of parent deployment.' + type: string + raiPolicyName: + description: 'RaiPolicyName: The name of RAI policy.' + type: string + scaleSettings: + description: |- + ScaleSettings: Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku + instead.) + properties: + capacity: + description: 'Capacity: Deployment capacity.' + type: integer + scaleType: + description: 'ScaleType: Deployment scale type.' + enum: + - Manual + - Standard + type: string + type: object + spilloverDeploymentName: + description: |- + SpilloverDeploymentName: Specifies the deployment name that should serve requests when the request would have otherwise + been throttled due to reaching current deployment throughput limit. + type: string + versionUpgradeOption: + description: 'VersionUpgradeOption: Deployment model version upgrade option.' + enum: + - NoAutoUpgrade + - OnceCurrentVersionExpired + - OnceNewDefaultVersionAvailable + type: string + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Enterprise + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: Resource Etag.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Properties of Cognitive Services account deployment.' + properties: + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + additionalProperties: + type: string + description: 'Capabilities: The capabilities.' + type: object + capacitySettings: + description: 'CapacitySettings: Internal use only.' + properties: + designatedCapacity: + description: 'DesignatedCapacity: The designated capacity.' + type: integer + priority: + description: 'Priority: The priority of this capacity setting.' + type: integer + type: object + currentCapacity: + description: 'CurrentCapacity: The current capacity.' + type: integer + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: If the dynamic throttling is enabled.' + type: boolean + model: + description: 'Model: Properties of Cognitive Services account deployment model.' + properties: + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + format: + description: 'Format: Deployment model format.' + type: string + name: + description: 'Name: Deployment model name.' + type: string + publisher: + description: 'Publisher: Deployment model publisher.' + type: string + source: + description: 'Source: Optional. Deployment model source ARM resource ID.' + type: string + sourceAccount: + description: 'SourceAccount: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + type: string + version: + description: |- + Version: Optional. Deployment model version. If version is not specified, a default version will be assigned. The + default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + type: string + type: object + parentDeploymentName: + description: 'ParentDeploymentName: The name of parent deployment.' + type: string + provisioningState: + description: 'ProvisioningState: Gets the status of the resource at the time the operation was called.' + type: string + raiPolicyName: + description: 'RaiPolicyName: The name of RAI policy.' + type: string + rateLimits: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + scaleSettings: + description: |- + ScaleSettings: Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku + instead.) + properties: + activeCapacity: + description: |- + ActiveCapacity: Deployment active capacity. This value might be different from `capacity` if customer recently updated + `capacity`. + type: integer + capacity: + description: 'Capacity: Deployment capacity.' + type: integer + scaleType: + description: 'ScaleType: Deployment scale type.' + type: string + type: object + spilloverDeploymentName: + description: |- + SpilloverDeploymentName: Specifies the deployment name that should serve requests when the request would have otherwise + been throttled due to reaching current deployment throughput limit. + type: string + versionUpgradeOption: + description: 'VersionUpgradeOption: Deployment model version upgrade option.' + type: string + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250601.Deployment + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250601.Deployment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20250601.DeploymentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cognitiveservices.azure.com/Account resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20250601.DeploymentProperties + Properties of Cognitive Services account deployment. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacitySettings: + description: |- + Storage version of v1api20250601.DeploymentCapacitySettings + Internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + designatedCapacity: + type: integer + priority: + type: integer + type: object + model: + description: |- + Storage version of v1api20250601.DeploymentModel + Properties of Cognitive Services account deployment model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + formatFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + nameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publisher: + type: string + publisherFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceAccountReference: + description: 'SourceAccountReference: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceReference: + description: 'SourceReference: Optional. Deployment model source ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + version: + type: string + versionFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + parentDeploymentName: + type: string + raiPolicyName: + type: string + scaleSettings: + description: |- + Storage version of v1api20250601.DeploymentScaleSettings + Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku instead.) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + scaleType: + type: string + type: object + spilloverDeploymentName: + type: string + versionUpgradeOption: + type: string + type: object + sku: + description: |- + Storage version of v1api20250601.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250601.Deployment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20250601.DeploymentProperties_STATUS + Properties of Cognitive Services account deployment. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + additionalProperties: + type: string + type: object + capacitySettings: + description: |- + Storage version of v1api20250601.DeploymentCapacitySettings_STATUS + Internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + designatedCapacity: + type: integer + priority: + type: integer + type: object + currentCapacity: + type: integer + dynamicThrottlingEnabled: + type: boolean + model: + description: |- + Storage version of v1api20250601.DeploymentModel_STATUS + Properties of Cognitive Services account deployment model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + format: + type: string + name: + type: string + publisher: + type: string + source: + type: string + sourceAccount: + type: string + version: + type: string + type: object + parentDeploymentName: + type: string + provisioningState: + type: string + raiPolicyName: + type: string + rateLimits: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + scaleSettings: + description: |- + Storage version of v1api20250601.DeploymentScaleSettings_STATUS + Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku instead.) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeCapacity: + type: integer + capacity: + type: integer + scaleType: + type: string + type: object + spilloverDeploymentName: + type: string + versionUpgradeOption: + type: string + type: object + sku: + description: |- + Storage version of v1api20250601.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: diagnosticsettings.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: DiagnosticSetting + listKind: DiagnosticSettingList + plural: diagnosticsettings + singular: diagnosticsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + eventHubAuthorizationRuleReference: + description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubName: + description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' + type: string + logAnalyticsDestinationType: + description: |- + LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + type: string + logs: + description: 'Logs: The list of logs settings.' + items: + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + properties: + category: + description: |- + Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + categoryGroup: + description: |- + CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this log is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this log.' + properties: + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + minimum: 0 + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean + required: + - days + - enabled + type: object + required: + - enabled + type: object + type: array + marketplacePartnerReference: + description: |- + MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + Diagnostic Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metrics: + description: 'Metrics: The list of metric settings.' + items: + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + properties: + category: + description: |- + Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this category is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this category.' + properties: + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + minimum: 0 + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean + required: + - days + - enabled + type: object + timeGrain: + description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' + type: string + required: + - enabled + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serviceBusRuleId: + description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' + type: string + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workspaceReference: + description: |- + WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + Logs. Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eventHubAuthorizationRuleId: + description: 'EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule.' + type: string + eventHubName: + description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + logAnalyticsDestinationType: + description: |- + LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + type: string + logs: + description: 'Logs: The list of logs settings.' + items: + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + properties: + category: + description: |- + Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + categoryGroup: + description: |- + CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this log is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this log.' + properties: + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean + type: object + type: object + type: array + marketplacePartnerId: + description: |- + MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic + Logs. + type: string + metrics: + description: 'Metrics: The list of metric settings.' + items: + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + properties: + category: + description: |- + Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this category is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this category.' + properties: + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean + type: object + timeGrain: + description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + serviceBusRuleId: + description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' + type: string + storageAccountId: + description: 'StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + type: string + systemData: + description: 'SystemData: The system metadata related to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workspaceId: + description: |- + WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. + Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501preview.DiagnosticSetting + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501preview.DiagnosticSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + eventHubAuthorizationRuleReference: + description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubName: + type: string + logAnalyticsDestinationType: + type: string + logs: + items: + description: |- + Storage version of v1api20210501preview.LogSettings + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + categoryGroup: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + type: object + type: array + marketplacePartnerReference: + description: |- + MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + Diagnostic Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metrics: + items: + description: |- + Storage version of v1api20210501preview.MetricSettings + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + timeGrain: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20210501preview.DiagnosticSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serviceBusRuleId: + type: string + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workspaceReference: + description: |- + WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + Logs. Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210501preview.DiagnosticSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eventHubAuthorizationRuleId: + type: string + eventHubName: + type: string + id: + type: string + logAnalyticsDestinationType: + type: string + logs: + items: + description: |- + Storage version of v1api20210501preview.LogSettings_STATUS + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + categoryGroup: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy_STATUS + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + type: object + type: array + marketplacePartnerId: + type: string + metrics: + items: + description: |- + Storage version of v1api20210501preview.MetricSettings_STATUS + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy_STATUS + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + timeGrain: + type: string + type: object + type: array + name: + type: string + serviceBusRuleId: + type: string + storageAccountId: + type: string + systemData: + description: |- + Storage version of v1api20210501preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + workspaceId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: diskaccesses.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: DiskAccess + listKind: DiskAccessList + plural: diskaccesses + singular: diskaccess + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: disk access resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: |- + PrivateEndpointConnections: A readonly collection of private endpoint connections created on the disk. Currently only + one endpoint connection is supported. + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The disk access resource provisioning state.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + timeCreated: + description: 'TimeCreated: The time when the disk access was created.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240302.DiskAccess + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240302.DiskAccess_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240302.DiskAccessOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.DiskAccess_STATUS + disk access resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + location: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240302.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240302.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: diskencryptionsets.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: DiskEncryptionSet + listKind: DiskEncryptionSetList + plural: diskencryptionsets + singular: diskencryptionset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220702 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + keyUrlFromConfig: + description: |- + KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required + regardless of rotationToLatestKeyVersionEnabled value. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + enum: + - ConfidentialVmEncryptedWithCustomerKey + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + federatedClientIdFromConfig: + description: |- + FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the + value to 'None' will clear the property. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: disk encryption set resource. + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + autoKeyRotationError: + description: |- + AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key + rotation will not be attempted until the error on this disk encryption set is fixed. + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + id: + description: 'Id: Resource Id' + type: string + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + principalId: + description: |- + PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + tenantId: + description: |- + TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + previousKeys: + description: |- + PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation + is in progress. It will be empty if there is no ongoing key rotation. + items: + description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: array + provisioningState: + description: 'ProvisioningState: The disk encryption set provisioning state.' + type: string + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220702storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220702.DiskEncryptionSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220702.DiskEncryptionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20220702.KeyForDiskEncryptionSet + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + keyUrlFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + Storage version of v1api20220702.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + type: string + federatedClientId: + type: string + federatedClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Storage version of v1api20220702.EncryptionSetIdentity + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220702.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220702.DiskEncryptionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220702.DiskEncryptionSet_STATUS + disk encryption set resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20220702.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + autoKeyRotationError: + description: |- + Storage version of v1api20220702.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20220702.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20220702.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionType: + type: string + federatedClientId: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20220702.EncryptionSetIdentity_STATUS + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220702.UserAssignedIdentitiesValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + lastKeyRotationTimestamp: + type: string + location: + type: string + name: + type: string + previousKeys: + items: + description: |- + Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20220702.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + provisioningState: + type: string + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + keyUrlFromConfig: + description: |- + KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required + regardless of rotationToLatestKeyVersionEnabled value. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + enum: + - ConfidentialVmEncryptedWithCustomerKey + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + federatedClientIdFromConfig: + description: |- + FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the + value to 'None' will clear the property. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: disk encryption set resource. + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + autoKeyRotationError: + description: |- + AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key + rotation will not be attempted until the error on this disk encryption set is fixed. + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + principalId: + description: |- + PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + tenantId: + description: |- + TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + previousKeys: + description: |- + PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation + is in progress. It will be empty if there is no ongoing key rotation. + items: + description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: array + provisioningState: + description: 'ProvisioningState: The disk encryption set provisioning state.' + type: string + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240302.DiskEncryptionSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240302.DiskEncryptionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20240302.KeyForDiskEncryptionSet + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + keyUrlFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + type: string + federatedClientId: + type: string + federatedClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Storage version of v1api20240302.EncryptionSetIdentity + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240302.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240302.DiskEncryptionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.DiskEncryptionSet_STATUS + disk encryption set resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + autoKeyRotationError: + description: |- + Storage version of v1api20240302.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20240302.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20240302.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionType: + type: string + federatedClientId: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240302.EncryptionSetIdentity_STATUS + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240302.UserAssignedIdentitiesValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + lastKeyRotationTimestamp: + type: string + location: + type: string + name: + type: string + previousKeys: + items: + description: |- + Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + provisioningState: + type: string + rotationToLatestKeyVersionEnabled: + type: boolean + systemData: + description: |- + Storage version of v1api20240302.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: disks.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: Disk + listKind: DiskList + plural: disks + singular: disk + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200930 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - Empty + - FromImage + - Import + - Restore + - Upload + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + location: + description: 'Location: Resource location' + type: string + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + sku: + description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + properties: + name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - StandardSSD_LRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array + required: + - creationData + - location + - owner + type: object + status: + description: Disk resource. + properties: + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the disk.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: 'Id: Resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + managedBy: + description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' + type: string + managedByExtended: + description: |- + ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be + set to a value greater than one for disks to allow attaching them to multiple VMs. + items: + type: string + type: array + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + name: + description: 'Name: Resource name' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + osType: + description: 'OsType: The Operating System type.' + type: string + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + shareInfo: + description: |- + ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than + one for disks to allow attaching them to multiple VMs. + items: + properties: + vmUri: + description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + type: string + type: object + type: array + sku: + description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + properties: + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + timeCreated: + description: 'TimeCreated: The time when the disk was created.' + type: string + type: + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200930storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200930.Disk + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200930.Disk_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + burstingEnabled: + type: boolean + creationData: + description: |- + Storage version of v1api20200930.CreationData + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20200930.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + location: + type: string + maxShares: + type: integer + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20200930.DiskOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + sku: + description: |- + Storage version of v1api20200930.DiskSku + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tier: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200930.Disk_STATUS + Disk resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + burstingEnabled: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + Storage version of v1api20200930.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + logicalSectorSize: + type: integer + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessId: + type: string + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20200930.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + location: + type: string + managedBy: + type: string + managedByExtended: + items: + type: string + type: array + maxShares: + type: integer + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + shareInfo: + items: + description: Storage version of v1api20200930.ShareInfoElement_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmUri: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20200930.DiskSku_STATUS + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tier: + type: string + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - CopyFromSanSnapshot + - CopyStart + - Empty + - FromImage + - Import + - ImportSecure + - Restore + - Upload + - UploadPreparedSecure + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + enum: + - Enhanced + - None + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + enum: + - AzureActiveDirectory + - None + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedForFrequentAttach: + description: |- + OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are + frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should + not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault + domain of the virtual machine. + type: boolean + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + enum: + - Disabled + - Enabled + type: string + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + enum: + - ConfidentialVM_DiskEncryptedWithCustomerKey + - ConfidentialVM_DiskEncryptedWithPlatformKey + - ConfidentialVM_NonPersistedTPM + - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey + - TrustedLaunch + type: string + type: object + sku: + description: |- + Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, + or PremiumV2_LRS. + properties: + name: + description: 'Name: The sku name.' + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + supportedCapabilities: + description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + enum: + - Arm64 + - x64 + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array + required: + - creationData + - location + - owner + type: object + status: + description: Disk resource. + properties: + LastOwnershipUpdateTime: + description: |- + LastOwnershipUpdateTime: The UTC time when the ownership state of the disk was last changed i.e., the time the disk was + last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + type: string + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + burstingEnabledTime: + description: 'BurstingEnabledTime: Latest time when bursting was last enabled on a disk.' + type: string + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + elasticSanResourceId: + description: |- + ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san + volume snapshot. + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + type: string + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the disk.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' + type: string + managedByExtended: + description: |- + ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be + set to a value greater than one for disks to allow attaching them to multiple VMs. + items: + type: string + type: array + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + name: + description: 'Name: The name of the resource' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + optimizedForFrequentAttach: + description: |- + OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are + frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should + not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault + domain of the virtual machine. + type: boolean + osType: + description: 'OsType: The Operating System type.' + type: string + propertyUpdatesInProgress: + description: 'PropertyUpdatesInProgress: Properties of the disk for which update is pending.' + properties: + targetTier: + description: 'TargetTier: The target performance tier of the disk if a tier change operation is in progress.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + type: string + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetId: + description: |- + SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + type: string + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + type: string + type: object + shareInfo: + description: |- + ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than + one for disks to allow attaching them to multiple VMs. + items: + properties: + vmUri: + description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + type: string + type: object + type: array + sku: + description: |- + Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, + or PremiumV2_LRS. + properties: + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string + type: object + supportedCapabilities: + description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' + type: boolean + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + timeCreated: + description: 'TimeCreated: The time when the disk was created.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240302.Disk + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240302.Disk_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + burstingEnabled: + type: boolean + completionPercent: + type: number + creationData: + description: |- + Storage version of v1api20240302.CreationData + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + type: object + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20240302.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + location: + type: string + maxShares: + type: integer + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20240302.DiskOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedForFrequentAttach: + type: boolean + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.DiskPurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + type: string + type: object + sku: + description: |- + Storage version of v1api20240302.DiskSku + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or + PremiumV2_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + tier: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.Disk_STATUS + Disk resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + LastOwnershipUpdateTime: + type: string + burstingEnabled: + type: boolean + burstingEnabledTime: + type: string + completionPercent: + type: number + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + Storage version of v1api20240302.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + elasticSanResourceId: + type: string + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessId: + type: string + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20240302.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + location: + type: string + managedBy: + type: string + managedByExtended: + items: + type: string + type: array + maxShares: + type: integer + name: + type: string + networkAccessPolicy: + type: string + optimizedForFrequentAttach: + type: boolean + osType: + type: string + propertyUpdatesInProgress: + description: |- + Storage version of v1api20240302.PropertyUpdatesInProgress_STATUS + Properties of the disk for which update is pending. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetTier: + type: string + type: object + provisioningState: + type: string + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.DiskPurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile_STATUS + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetId: + type: string + securityType: + type: string + type: object + shareInfo: + items: + description: Storage version of v1api20240302.ShareInfoElement_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmUri: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240302.DiskSku_STATUS + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or + PremiumV2_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities_STATUS + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + systemData: + description: |- + Storage version of v1api20240302.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tier: + type: string + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsforwardingrulesets.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsForwardingRuleset + listKind: DnsForwardingRulesetList + plural: dnsforwardingrulesets + singular: dnsforwardingruleset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsResolverOutboundEndpoints: + description: |- + DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries + matching the forwarding rules in the ruleset to the target DNS servers. + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - dnsResolverOutboundEndpoints + - location + - owner + type: object + status: + description: Describes a DNS forwarding ruleset. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsResolverOutboundEndpoints: + description: |- + DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries + matching the forwarding rules in the ruleset to the target DNS servers. + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: ETag of the DNS forwarding ruleset.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any + attempt to set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid for the DNS forwarding ruleset.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsForwardingRuleset + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsForwardingRuleset_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsResolverOutboundEndpoints: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.DnsForwardingRulesetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.DnsForwardingRuleset_STATUS + Describes a DNS forwarding ruleset. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsResolverOutboundEndpoints: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsforwardingrulesetsforwardingrules.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsForwardingRuleSetsForwardingRule + listKind: DnsForwardingRuleSetsForwardingRuleList + plural: dnsforwardingrulesetsforwardingrules + singular: dnsforwardingrulesetsforwardingrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + domainName: + description: 'DomainName: The domain name for the forwarding rule.' + type: string + forwardingRuleState: + description: 'ForwardingRuleState: The state of forwarding rule.' + enum: + - Disabled + - Enabled + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the forwarding rule.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsForwardingRuleset resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetDnsServers: + description: 'TargetDnsServers: DNS servers to forward the DNS query to.' + items: + description: Describes a server to forward the DNS queries to. + properties: + ipAddress: + description: 'IpAddress: DNS server IP address.' + type: string + ipAddressFromConfig: + description: 'IpAddressFromConfig: DNS server IP address.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + port: + description: 'Port: DNS server port.' + type: integer + type: object + type: array + required: + - domainName + - owner + - targetDnsServers + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + domainName: + description: 'DomainName: The domain name for the forwarding rule.' + type: string + etag: + description: 'Etag: ETag of the forwarding rule.' + type: string + forwardingRuleState: + description: 'ForwardingRuleState: The state of forwarding rule.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the forwarding rule.' + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the forwarding rule. This is a read-only property and any attempt + to set this value will be ignored. + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + targetDnsServers: + description: 'TargetDnsServers: DNS servers to forward the DNS query to.' + items: + description: Describes a server to forward the DNS queries to. + properties: + ipAddress: + description: 'IpAddress: DNS server IP address.' + type: string + port: + description: 'Port: DNS server port.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + domainName: + type: string + forwardingRuleState: + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsForwardingRuleset resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetDnsServers: + items: + description: |- + Storage version of v1api20220701.TargetDnsServer + Describes a server to forward the DNS queries to. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + ipAddressFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + port: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + domainName: + type: string + etag: + type: string + forwardingRuleState: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + targetDnsServers: + items: + description: |- + Storage version of v1api20220701.TargetDnsServer_STATUS + Describes a server to forward the DNS queries to. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + port: + type: integer + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsforwardingrulesetsvirtualnetworklinks.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsForwardingRuleSetsVirtualNetworkLink + listKind: DnsForwardingRuleSetsVirtualNetworkLinkList + plural: dnsforwardingrulesetsvirtualnetworklinks + singular: dnsforwardingrulesetsvirtualnetworklink + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the virtual network link.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsForwardingRuleset resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + - virtualNetwork + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: ETag of the virtual network link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the virtual network link.' + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the virtual network link. This is a read-only property and any + attempt to set this value will be ignored. + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLinkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsForwardingRuleset resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsresolvers.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsResolver + listKind: DnsResolverList + plural: dnsresolvers + singular: dnsresolver + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - location + - owner + - virtualNetwork + type: object + status: + description: Describes a DNS resolver. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsResolverState: + description: |- + DnsResolverState: The current status of the DNS resolver. This is a read-only property and any attempt to set this value + will be ignored. + type: string + etag: + description: 'Etag: ETag of the DNS resolver.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the DNS resolver. This is a read-only property and any attempt to + set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the DNS resolver resource.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsResolver + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsResolver_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.DnsResolverOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.DnsResolver_STATUS + Describes a DNS resolver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsResolverState: + type: string + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsresolversinboundendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsResolversInboundEndpoint + listKind: DnsResolversInboundEndpointList + plural: dnsresolversinboundendpoints + singular: dnsresolversinboundendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ipConfigurations: + description: 'IpConfigurations: IP configurations for the inbound endpoint.' + items: + description: IP configuration. + properties: + privateIpAddress: + description: 'PrivateIpAddress: Private IP address of the IP configuration.' + type: string + privateIpAllocationMethod: + description: 'PrivateIpAllocationMethod: Private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + subnet: + description: 'Subnet: The reference to the subnet bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - subnet + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsResolver resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - ipConfigurations + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: ETag of the inbound endpoint.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ipConfigurations: + description: 'IpConfigurations: IP configurations for the inbound endpoint.' + items: + description: IP configuration. + properties: + privateIpAddress: + description: 'PrivateIpAddress: Private IP address of the IP configuration.' + type: string + privateIpAllocationMethod: + description: 'PrivateIpAllocationMethod: Private IP address allocation method.' + type: string + subnet: + description: 'Subnet: The reference to the subnet bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the inbound endpoint. This is a read-only property and any attempt + to set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the inbound endpoint resource.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsResolversInboundEndpoint + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsResolversInboundEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.IpConfiguration + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIpAddress: + type: string + privateIpAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.DnsResolversInboundEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsResolver resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220701.DnsResolversInboundEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.IpConfiguration_STATUS + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIpAddress: + type: string + privateIpAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnsresolversoutboundendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsResolversOutboundEndpoint + listKind: DnsResolversOutboundEndpointList + plural: dnsresolversoutboundendpoints + singular: dnsresolversoutboundendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsResolver resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet used for the outbound endpoint.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - subnet + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: ETag of the outbound endpoint.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the outbound endpoint. This is a read-only property and any attempt + to set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the outbound endpoint resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet used for the outbound endpoint.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.DnsResolversOutboundEndpoint + Generator information: + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/DnsResolver/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.DnsResolversOutboundEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsResolver resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszones.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZone + listKind: DnsZoneList + plural: dnszones + singular: dnszone + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationVirtualNetworks: + description: |- + RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is + a only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + resolutionVirtualNetworks: + description: |- + ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a + only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneType: + description: 'ZoneType: The type of this DNS zone (Public or Private).' + enum: + - Private + - Public + type: string + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the zone.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + maxNumberOfRecordSets: + description: |- + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this DNS zone. This is a read-only + property and any attempt to set this value will be ignored. + type: integer + maxNumberOfRecordsPerRecordSet: + description: |- + MaxNumberOfRecordsPerRecordSet: The maximum number of records per record set that can be created in this DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + name: + description: 'Name: Resource name.' + type: string + nameServers: + description: |- + NameServers: The name servers for this DNS zone. This is a read-only property and any attempt to set this value will be + ignored. + items: + type: string + type: array + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this DNS zone. This is a read-only property and any attempt to + set this value will be ignored. + type: integer + registrationVirtualNetworks: + description: |- + RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is + a only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: array + resolutionVirtualNetworks: + description: |- + ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a + only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zoneType: + description: 'ZoneType: The type of this DNS zone (Public or Private).' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZone + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZone_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZoneOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + resolutionVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + tags: + additionalProperties: + type: string + type: object + zoneType: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZone_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfRecordsPerRecordSet: + type: integer + name: + type: string + nameServers: + items: + type: string + type: array + numberOfRecordSets: + type: integer + registrationVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resolutionVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneType: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonesaaaarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesAAAARecord + listKind: DnsZonesAAAARecordList + plural: dnszonesaaaarecords + singular: dnszonesaaaarecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesAAAARecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesAAAARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesAAAARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesAAAARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonesarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesARecord + listKind: DnsZonesARecordList + plural: dnszonesarecords + singular: dnszonesarecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesARecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonescaarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesCAARecord + listKind: DnsZonesCAARecordList + plural: dnszonescaarecords + singular: dnszonescaarecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesCAARecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesCAARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesCAARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesCAARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonescnamerecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesCNAMERecord + listKind: DnsZonesCNAMERecordList + plural: dnszonescnamerecords + singular: dnszonescnamerecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesCNAMERecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesCNAMERecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesCNAMERecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesCNAMERecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonesmxrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesMXRecord + listKind: DnsZonesMXRecordList + plural: dnszonesmxrecords + singular: dnszonesmxrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesMXRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesMXRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesMXRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesMXRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonesnsrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesNSRecord + listKind: DnsZonesNSRecordList + plural: dnszonesnsrecords + singular: dnszonesnsrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesNSRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesNSRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesNSRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesNSRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonesptrrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesPTRRecord + listKind: DnsZonesPTRRecordList + plural: dnszonesptrrecords + singular: dnszonesptrrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesPTRRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesPTRRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesPTRRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesPTRRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonessrvrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesSRVRecord + listKind: DnsZonesSRVRecordList + plural: dnszonessrvrecords + singular: dnszonessrvrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesSRVRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesSRVRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesSRVRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesSRVRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: dnszonestxtrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesTXTRecord + listKind: DnsZonesTXTRecordList + plural: dnszonestxtrecords + singular: dnszonestxtrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesTXTRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/Dns/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesTXTRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesTXTRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesTXTRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: domains.eventgrid.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventgrid.azure.com + names: + categories: + - azure + - eventgrid + kind: Domain + listKind: DomainList + plural: domains + singular: domain + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + inboundIpRules: + description: |- + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. + items: + properties: + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + enum: + - Allow + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' + type: string + type: object + type: array + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' + enum: + - CloudEventSchemaV1_0 + - CustomEventSchema + - EventGridSchema + type: string + inputSchemaMapping: + description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' + properties: + json: + description: 'Json: Mutually exclusive with all other properties' + properties: + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' + enum: + - Json + type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + required: + - inputSchemaMappingType + type: object + type: object + location: + description: 'Location: Location of the resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the resource.' + type: object + required: + - location + - owner + type: object + status: + description: EventGrid Domain. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpoint: + description: 'Endpoint: Endpoint for the domain.' + type: string + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + inboundIpRules: + description: |- + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. + items: + properties: + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' + type: string + type: object + type: array + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' + type: string + inputSchemaMapping: + description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' + properties: + json: + description: 'Json: Mutually exclusive with all other properties' + properties: + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' + type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + type: object + type: object + location: + description: 'Location: Location of the resource.' + type: string + metricResourceId: + description: 'MetricResourceId: Metric resource id for the domain.' + type: string + name: + description: 'Name: Name of the resource.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + properties: + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the domain.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring + type: string + systemData: + description: 'SystemData: The system metadata relating to Domain resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the resource.' + type: object + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.Domain + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.Domain_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + inboundIpRules: + items: + description: Storage version of v1api20200601.InboundIpRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ipMask: + type: string + type: object + type: array + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: + type: string + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + topic: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + type: object + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.DomainOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200601.Domain_STATUS + EventGrid Domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpoint: + type: string + id: + type: string + inboundIpRules: + items: + description: Storage version of v1api20200601.InboundIpRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ipMask: + type: string + type: object + type: array + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: + type: string + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + topic: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + type: object + type: object + location: + type: string + metricResourceId: + type: string + name: + type: string + privateEndpointConnections: + items: + description: Storage version of v1api20200601.PrivateEndpointConnection_STATUS_Domain_SubResourceEmbedded + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: domainstopics.eventgrid.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventgrid.azure.com + names: + categories: + - azure + - eventgrid + kind: DomainsTopic + listKind: DomainsTopicList + plural: domainstopics + singular: domainstopic + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventgrid.azure.com/Domain resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + name: + description: 'Name: Name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the domain topic.' + type: string + systemData: + description: 'SystemData: The system metadata relating to Domain Topic resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.DomainsTopic + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.DomainsTopic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.DomainsTopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventgrid.azure.com/Domain resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20200601.DomainsTopic_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: eventsubscriptions.eventgrid.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventgrid.azure.com + names: + categories: + - azure + - eventgrid + kind: EventSubscription + listKind: EventSubscriptionList + plural: eventsubscriptions + singular: eventsubscription + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetterDestination: + description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' + properties: + storageBlob: + description: 'StorageBlob: Mutually exclusive with all other properties' + properties: + blobContainerName: + description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the dead letter destination' + enum: + - StorageBlob + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + type: object + destination: + description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' + properties: + azureFunction: + description: 'AzureFunction: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - AzureFunction + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - EventHub + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + hybridConnection: + description: 'HybridConnection: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - HybridConnection + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + serviceBusQueue: + description: 'ServiceBusQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - ServiceBusQueue + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + serviceBusTopic: + description: 'ServiceBusTopic: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - ServiceBusTopic + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + storageQueue: + description: 'StorageQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - StorageQueue + type: string + queueName: + description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an + event subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + webHook: + description: 'WebHook: Mutually exclusive with all other properties' + properties: + azureActiveDirectoryApplicationIdOrUri: + description: |- + AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that + will be included as the bearer token in delivery requests. + type: string + azureActiveDirectoryTenantId: + description: |- + AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the + bearer token in delivery requests. + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - WebHook + type: string + endpointUrl: + description: 'EndpointUrl: The URL that represents the endpoint of the destination of an event subscription.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + required: + - endpointType + type: object + type: object + eventDeliverySchema: + description: 'EventDeliverySchema: The event delivery schema for the event subscription.' + enum: + - CloudEventSchemaV1_0 + - CustomInputSchema + - EventGridSchema + type: string + expirationTimeUtc: + description: 'ExpirationTimeUtc: Expiration time of the event subscription.' + type: string + filter: + description: 'Filter: Information about the filter for the event subscription.' + properties: + advancedFilters: + description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' + items: + properties: + boolEquals: + description: 'BoolEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - BoolEquals + type: string + value: + description: 'Value: The boolean filter value.' + type: boolean + required: + - operatorType + type: object + numberGreaterThan: + description: 'NumberGreaterThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberGreaterThan + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberGreaterThanOrEquals: + description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberGreaterThanOrEquals + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberIn: + description: 'NumberIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + required: + - operatorType + type: object + numberLessThan: + description: 'NumberLessThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberLessThan + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberLessThanOrEquals: + description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberLessThanOrEquals + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberNotIn: + description: 'NumberNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberNotIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + required: + - operatorType + type: object + stringBeginsWith: + description: 'StringBeginsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringBeginsWith + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringContains: + description: 'StringContains: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringContains + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringEndsWith: + description: 'StringEndsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringEndsWith + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringIn: + description: 'StringIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringNotIn: + description: 'StringNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringNotIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + type: object + type: array + includedEventTypes: + description: |- + IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to + subscribe to all default event types, set the IncludedEventTypes to null. + items: + type: string + type: array + isSubjectCaseSensitive: + description: |- + IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter + should be compared in a case sensitive manner. + type: boolean + subjectBeginsWith: + description: |- + SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. + The format of this depends on the publisher of the events. + Wildcard characters are not supported in this path. + type: string + subjectEndsWith: + description: |- + SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. + Wildcard characters are not supported in this path. + type: string + type: object + labels: + description: 'Labels: List of user defined labels.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retryPolicy: + description: |- + RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to + live for events. + properties: + eventTimeToLiveInMinutes: + description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' + type: integer + maxDeliveryAttempts: + description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' + type: integer + type: object + required: + - owner + type: object + status: + description: Event Subscription + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deadLetterDestination: + description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' + properties: + storageBlob: + description: 'StorageBlob: Mutually exclusive with all other properties' + properties: + blobContainerName: + description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the dead letter destination' + type: string + resourceId: + description: 'ResourceId: The Azure Resource ID of the storage account that is the destination of the deadletter events' + type: string + type: object + type: object + destination: + description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' + properties: + azureFunction: + description: 'AzureFunction: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + resourceId: + description: |- + ResourceId: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + type: string + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.' + type: string + type: object + hybridConnection: + description: 'HybridConnection: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + type: string + type: object + serviceBusQueue: + description: 'ServiceBusQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.' + type: string + type: object + serviceBusTopic: + description: 'ServiceBusTopic: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: |- + ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + type: string + type: object + storageQueue: + description: 'StorageQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + queueName: + description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' + type: string + resourceId: + description: |- + ResourceId: The Azure Resource ID of the storage account that contains the queue that is the destination of an event + subscription. + type: string + type: object + webHook: + description: 'WebHook: Mutually exclusive with all other properties' + properties: + azureActiveDirectoryApplicationIdOrUri: + description: |- + AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that + will be included as the bearer token in delivery requests. + type: string + azureActiveDirectoryTenantId: + description: |- + AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the + bearer token in delivery requests. + type: string + endpointBaseUrl: + description: 'EndpointBaseUrl: The base URL that represents the endpoint of the destination of an event subscription.' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + type: object + type: object + eventDeliverySchema: + description: 'EventDeliverySchema: The event delivery schema for the event subscription.' + type: string + expirationTimeUtc: + description: 'ExpirationTimeUtc: Expiration time of the event subscription.' + type: string + filter: + description: 'Filter: Information about the filter for the event subscription.' + properties: + advancedFilters: + description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' + items: + properties: + boolEquals: + description: 'BoolEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The boolean filter value.' + type: boolean + type: object + numberGreaterThan: + description: 'NumberGreaterThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberGreaterThanOrEquals: + description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberIn: + description: 'NumberIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + type: object + numberLessThan: + description: 'NumberLessThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberLessThanOrEquals: + description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberNotIn: + description: 'NumberNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + type: object + stringBeginsWith: + description: 'StringBeginsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringContains: + description: 'StringContains: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringEndsWith: + description: 'StringEndsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringIn: + description: 'StringIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringNotIn: + description: 'StringNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + description: |- + IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to + subscribe to all default event types, set the IncludedEventTypes to null. + items: + type: string + type: array + isSubjectCaseSensitive: + description: |- + IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter + should be compared in a case sensitive manner. + type: boolean + subjectBeginsWith: + description: |- + SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. + The format of this depends on the publisher of the events. + Wildcard characters are not supported in this path. + type: string + subjectEndsWith: + description: |- + SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. + Wildcard characters are not supported in this path. + type: string + type: object + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + labels: + description: 'Labels: List of user defined labels.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the event subscription.' + type: string + retryPolicy: + description: |- + RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to + live for events. + properties: + eventTimeToLiveInMinutes: + description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' + type: integer + maxDeliveryAttempts: + description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' + type: integer + type: object + systemData: + description: 'SystemData: The system metadata relating to Event Subscription resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + topic: + description: 'Topic: Name of the topic of the event subscription.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.EventSubscription + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.EventSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetterDestination: + description: Storage version of v1api20200601.DeadLetterDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlob: + description: Storage version of v1api20200601.StorageBlobDeadLetterDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobContainerName: + type: string + endpointType: + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + destination: + description: Storage version of v1api20200601.EventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFunction: + description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + eventHub: + description: Storage version of v1api20200601.EventHubEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hybridConnection: + description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceBusQueue: + description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceBusTopic: + description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageQueue: + description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + queueName: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an + event subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + webHook: + description: Storage version of v1api20200601.WebHookEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureActiveDirectoryApplicationIdOrUri: + type: string + azureActiveDirectoryTenantId: + type: string + endpointType: + type: string + endpointUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + type: object + type: object + eventDeliverySchema: + type: string + expirationTimeUtc: + type: string + filter: + description: |- + Storage version of v1api20200601.EventSubscriptionFilter + Filter for the Event Subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedFilters: + items: + description: Storage version of v1api20200601.AdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + boolEquals: + description: Storage version of v1api20200601.BoolEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: boolean + type: object + numberGreaterThan: + description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberGreaterThanOrEquals: + description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberIn: + description: Storage version of v1api20200601.NumberInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + numberLessThan: + description: Storage version of v1api20200601.NumberLessThanAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberLessThanOrEquals: + description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberNotIn: + description: Storage version of v1api20200601.NumberNotInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + stringBeginsWith: + description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringContains: + description: Storage version of v1api20200601.StringContainsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringEndsWith: + description: Storage version of v1api20200601.StringEndsWithAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringIn: + description: Storage version of v1api20200601.StringInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringNotIn: + description: Storage version of v1api20200601.StringNotInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + items: + type: string + type: array + isSubjectCaseSensitive: + type: boolean + subjectBeginsWith: + type: string + subjectEndsWith: + type: string + type: object + labels: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.EventSubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retryPolicy: + description: |- + Storage version of v1api20200601.RetryPolicy + Information about the retry policy for an event subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTimeToLiveInMinutes: + type: integer + maxDeliveryAttempts: + type: integer + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200601.EventSubscription_STATUS + Event Subscription + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deadLetterDestination: + description: Storage version of v1api20200601.DeadLetterDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlob: + description: Storage version of v1api20200601.StorageBlobDeadLetterDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobContainerName: + type: string + endpointType: + type: string + resourceId: + type: string + type: object + type: object + destination: + description: Storage version of v1api20200601.EventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFunction: + description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + resourceId: + type: string + type: object + eventHub: + description: Storage version of v1api20200601.EventHubEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + hybridConnection: + description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + serviceBusQueue: + description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + serviceBusTopic: + description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + storageQueue: + description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + queueName: + type: string + resourceId: + type: string + type: object + webHook: + description: Storage version of v1api20200601.WebHookEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureActiveDirectoryApplicationIdOrUri: + type: string + azureActiveDirectoryTenantId: + type: string + endpointBaseUrl: + type: string + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + type: object + type: object + eventDeliverySchema: + type: string + expirationTimeUtc: + type: string + filter: + description: |- + Storage version of v1api20200601.EventSubscriptionFilter_STATUS + Filter for the Event Subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedFilters: + items: + description: Storage version of v1api20200601.AdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + boolEquals: + description: Storage version of v1api20200601.BoolEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: boolean + type: object + numberGreaterThan: + description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberGreaterThanOrEquals: + description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberIn: + description: Storage version of v1api20200601.NumberInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + numberLessThan: + description: Storage version of v1api20200601.NumberLessThanAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberLessThanOrEquals: + description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberNotIn: + description: Storage version of v1api20200601.NumberNotInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + stringBeginsWith: + description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringContains: + description: Storage version of v1api20200601.StringContainsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringEndsWith: + description: Storage version of v1api20200601.StringEndsWithAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringIn: + description: Storage version of v1api20200601.StringInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringNotIn: + description: Storage version of v1api20200601.StringNotInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + items: + type: string + type: array + isSubjectCaseSensitive: + type: boolean + subjectBeginsWith: + type: string + subjectEndsWith: + type: string + type: object + id: + type: string + labels: + items: + type: string + type: array + name: + type: string + provisioningState: + type: string + retryPolicy: + description: |- + Storage version of v1api20200601.RetryPolicy_STATUS + Information about the retry policy for an event subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTimeToLiveInMinutes: + type: integer + maxDeliveryAttempts: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + topic: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: extensions.kubernetesconfiguration.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kubernetesconfiguration.azure.com + names: + categories: + - azure + - kubernetesconfiguration + kind: Extension + listKind: ExtensionList + plural: extensions + singular: extension + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - UserAssigned + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: 'Plan: The plan information.' + properties: + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' + type: string + required: + - name + - product + - publisher + type: object + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + required: + - owner + type: object + status: + description: The Extension object. + properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + currentVersion: + description: 'CurrentVersion: Currently installed version of the extension.' + type: string + customLocationSettings: + additionalProperties: + type: string + description: 'CustomLocationSettings: Custom Location settings properties.' + type: object + errorInfo: + description: 'ErrorInfo: Error information from the Agent - e.g. errors during installation.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + isSystemExtension: + description: 'IsSystemExtension: Flag to note if this extension is a system extension' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + packageUri: + description: 'PackageUri: Uri of the Helm package' + type: string + plan: + description: 'Plan: The plan information.' + properties: + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Status of installation of this extension.' + type: string + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + statuses: + description: 'Statuses: Status from this extension.' + items: + description: Status from the extension. + properties: + code: + description: 'Code: Status code provided by the Extension' + type: string + displayStatus: + description: 'DisplayStatus: Short description of status of the extension.' + type: string + level: + description: 'Level: Level of the status.' + type: string + message: + description: 'Message: Detailed message of the status from the Extension.' + type: string + time: + description: 'Time: DateLiteral (per ISO8601) noting the time of installation status.' + type: string + type: object + type: array + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.Extension + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.Extension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + type: object + extensionType: + type: string + identity: + description: |- + Storage version of v1api20230501.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501.ExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230501.ExtensionOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20230501.Plan + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + releaseTrain: + type: string + scope: + description: |- + Storage version of v1api20230501.Scope + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20230501.ScopeCluster + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20230501.ScopeNamespace + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object + type: object + systemData: + description: |- + Storage version of v1api20230501.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230501.Extension_STATUS + The Extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + type: object + configurationSettings: + additionalProperties: + type: string + type: object + currentVersion: + type: string + customLocationSettings: + additionalProperties: + type: string + type: object + errorInfo: + description: |- + Storage version of v1api20230501.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230501.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230501.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230501.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + extensionType: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230501.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + isSystemExtension: + type: boolean + name: + type: string + packageUri: + type: string + plan: + description: |- + Storage version of v1api20230501.Plan_STATUS + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + provisioningState: + type: string + releaseTrain: + type: string + scope: + description: |- + Storage version of v1api20230501.Scope_STATUS + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20230501.ScopeCluster_STATUS + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20230501.ScopeNamespace_STATUS + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object + type: object + statuses: + items: + description: |- + Storage version of v1api20230501.ExtensionStatus_STATUS + Status from the extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - UserAssigned + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: 'Plan: The plan information.' + properties: + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' + type: string + required: + - name + - product + - publisher + type: object + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + required: + - owner + type: object + status: + description: The Extension object. + properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + currentVersion: + description: 'CurrentVersion: Currently installed version of the extension.' + type: string + customLocationSettings: + additionalProperties: + type: string + description: 'CustomLocationSettings: Custom Location settings properties.' + type: object + errorInfo: + description: 'ErrorInfo: Error information from the Agent - e.g. errors during installation.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + isSystemExtension: + description: 'IsSystemExtension: Flag to note if this extension is a system extension' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + packageUri: + description: 'PackageUri: Uri of the Helm package' + type: string + plan: + description: 'Plan: The plan information.' + properties: + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' + type: string + type: object + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + statuses: + description: 'Statuses: Status from this extension.' + items: + description: Status from the extension. + properties: + code: + description: 'Code: Status code provided by the Extension' + type: string + displayStatus: + description: 'DisplayStatus: Short description of status of the extension.' + type: string + level: + description: 'Level: Level of the status.' + type: string + message: + description: 'Message: Detailed message of the status from the Extension.' + type: string + time: + description: 'Time: DateLiteral (per ISO8601) noting the time of installation status.' + type: string + type: object + type: array + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.Extension + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.Extension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20241101.Extension_Properties_AksAssignedIdentity_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + type: object + extensionType: + type: string + identity: + description: |- + Storage version of v1api20241101.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20241101.ExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20241101.ExtensionOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20241101.Plan + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + releaseTrain: + type: string + scope: + description: |- + Storage version of v1api20241101.Scope + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20241101.ScopeCluster + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20241101.ScopeNamespace + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object + type: object + systemData: + description: |- + Storage version of v1api20241101.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20241101.Extension_STATUS + The Extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20241101.Extension_Properties_AksAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + type: object + configurationSettings: + additionalProperties: + type: string + type: object + currentVersion: + type: string + customLocationSettings: + additionalProperties: + type: string + type: object + errorInfo: + description: |- + Storage version of v1api20241101.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20241101.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20241101.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20241101.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + extensionType: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20241101.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + isSystemExtension: + type: boolean + name: + type: string + packageUri: + type: string + plan: + description: |- + Storage version of v1api20241101.Plan_STATUS + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + releaseTrain: + type: string + scope: + description: |- + Storage version of v1api20241101.Scope_STATUS + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20241101.ScopeCluster_STATUS + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20241101.ScopeNamespace_STATUS + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object + type: object + statuses: + items: + description: |- + Storage version of v1api20241101.ExtensionStatus_STATUS + Status from the extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: factories.datafactory.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: datafactory.azure.com + names: + categories: + - azure + - datafactory + kind: Factory + listKind: FactoryList + plural: factories + singular: factory + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/DataFactory/stable/2018-06-01/datafactory.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ + type: string + encryption: + description: 'Encryption: Properties to enable Customer Managed Key for the factory.' + properties: + identity: + description: |- + Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service + Identity will be used. + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' + type: string + required: + - keyName + - vaultBaseUrl + type: object + globalParameters: + additionalProperties: + description: Definition of a single parameter for an entity. + properties: + type: + description: 'Type: Global Parameter type.' + enum: + - Array + - Bool + - Float + - Int + - Object + - String + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Value: Value of parameter.' + type: object + required: + - type + - value + type: object + description: 'GlobalParameters: List of parameters for factory.' + type: object + identity: + description: 'Identity: Managed service identity of the factory.' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: List of user assigned identities for the factory.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' + enum: + - Disabled + - Enabled + type: string + purviewConfiguration: + description: 'PurviewConfiguration: Purview information of the factory.' + properties: + purviewResourceReference: + description: 'PurviewResourceReference: Purview resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + repoConfiguration: + description: 'RepoConfiguration: Git repo information of the factory.' + properties: + factoryGitHubConfiguration: + description: 'FactoryGitHub: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + clientId: + description: 'ClientId: GitHub bring your own app client id.' + type: string + clientSecret: + description: 'ClientSecret: GitHub bring your own app client secret information.' + properties: + byoaSecretAkvUrl: + description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' + type: string + byoaSecretName: + description: 'ByoaSecretName: Bring your own app client secret name in AKV.' + type: string + type: object + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + type: + description: 'Type: Type of repo configuration.' + enum: + - FactoryGitHubConfiguration + type: string + required: + - accountName + - collaborationBranch + - repositoryName + - rootFolder + - type + type: object + factoryVSTSConfiguration: + description: 'FactoryVSTS: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + projectName: + description: 'ProjectName: VSTS project name.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + tenantId: + description: 'TenantId: VSTS tenant id.' + type: string + type: + description: 'Type: Type of repo configuration.' + enum: + - FactoryVSTSConfiguration + type: string + required: + - accountName + - collaborationBranch + - projectName + - repositoryName + - rootFolder + - type + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + required: + - owner + type: object + status: + description: Factory resource type. + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createTime: + description: 'CreateTime: Time the factory was created in ISO8601 format.' + type: string + eTag: + description: 'ETag: Etag identifies change in the resource.' + type: string + encryption: + description: 'Encryption: Properties to enable Customer Managed Key for the factory.' + properties: + identity: + description: |- + Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service + Identity will be used. + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The resource id of the user assigned identity to authenticate to customer''s key vault.' + type: string + type: object + keyName: + description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' + type: string + type: object + globalParameters: + additionalProperties: + description: Definition of a single parameter for an entity. + properties: + type: + description: 'Type: Global Parameter type.' + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Value: Value of parameter.' + type: object + type: object + description: 'GlobalParameters: List of parameters for factory.' + type: object + id: + description: 'Id: The resource identifier.' + type: string + identity: + description: 'Identity: Managed service identity of the factory.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: List of user assigned identities for the factory.' + type: object + type: object + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + provisioningState: + description: 'ProvisioningState: Factory provisioning state, example Succeeded.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' + type: string + purviewConfiguration: + description: 'PurviewConfiguration: Purview information of the factory.' + properties: + purviewResourceId: + description: 'PurviewResourceId: Purview resource id.' + type: string + type: object + repoConfiguration: + description: 'RepoConfiguration: Git repo information of the factory.' + properties: + factoryGitHubConfiguration: + description: 'FactoryGitHub: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + clientId: + description: 'ClientId: GitHub bring your own app client id.' + type: string + clientSecret: + description: 'ClientSecret: GitHub bring your own app client secret information.' + properties: + byoaSecretAkvUrl: + description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' + type: string + byoaSecretName: + description: 'ByoaSecretName: Bring your own app client secret name in AKV.' + type: string + type: object + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + type: + description: 'Type: Type of repo configuration.' + type: string + type: object + factoryVSTSConfiguration: + description: 'FactoryVSTS: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + projectName: + description: 'ProjectName: VSTS project name.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + tenantId: + description: 'TenantId: VSTS tenant id.' + type: string + type: + description: 'Type: Type of repo configuration.' + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + version: + description: 'Version: Version of the factory.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Factory + Generator information: + - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/DataFactory/stable/2018-06-01/datafactory.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Factory_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20180601.EncryptionConfiguration + Definition of CMK for the factory. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20180601.CMKIdentityDefinition + Managed Identity used for CMK. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + globalParameters: + additionalProperties: + description: |- + Storage version of v1api20180601.GlobalParameterSpecification + Definition of a single parameter for an entity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + type: object + identity: + description: |- + Storage version of v1api20180601.FactoryIdentity + Identity properties of the factory resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20180601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.FactoryOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + purviewConfiguration: + description: |- + Storage version of v1api20180601.PurviewConfiguration + Purview configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + purviewResourceReference: + description: 'PurviewResourceReference: Purview resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + repoConfiguration: + description: Storage version of v1api20180601.FactoryRepoConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + factoryGitHubConfiguration: + description: Storage version of v1api20180601.FactoryGitHubConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + clientId: + type: string + clientSecret: + description: |- + Storage version of v1api20180601.GitHubClientSecret + Client secret information for factory's bring your own app repository configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + byoaSecretAkvUrl: + type: string + byoaSecretName: + type: string + type: object + collaborationBranch: + type: string + disablePublish: + type: boolean + hostName: + type: string + lastCommitId: + type: string + repositoryName: + type: string + rootFolder: + type: string + type: + type: string + type: object + factoryVSTSConfiguration: + description: Storage version of v1api20180601.FactoryVSTSConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + collaborationBranch: + type: string + disablePublish: + type: boolean + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20180601.Factory_STATUS + Factory resource type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createTime: + type: string + eTag: + type: string + encryption: + description: |- + Storage version of v1api20180601.EncryptionConfiguration_STATUS + Definition of CMK for the factory. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20180601.CMKIdentityDefinition_STATUS + Managed Identity used for CMK. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + globalParameters: + additionalProperties: + description: |- + Storage version of v1api20180601.GlobalParameterSpecification_STATUS + Definition of a single parameter for an entity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20180601.FactoryIdentity_STATUS + Identity properties of the factory resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + location: + type: string + name: + type: string + provisioningState: + type: string + publicNetworkAccess: + type: string + purviewConfiguration: + description: |- + Storage version of v1api20180601.PurviewConfiguration_STATUS + Purview configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + purviewResourceId: + type: string + type: object + repoConfiguration: + description: Storage version of v1api20180601.FactoryRepoConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + factoryGitHubConfiguration: + description: Storage version of v1api20180601.FactoryGitHubConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + clientId: + type: string + clientSecret: + description: |- + Storage version of v1api20180601.GitHubClientSecret_STATUS + Client secret information for factory's bring your own app repository configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + byoaSecretAkvUrl: + type: string + byoaSecretName: + type: string + type: object + collaborationBranch: + type: string + disablePublish: + type: boolean + hostName: + type: string + lastCommitId: + type: string + repositoryName: + type: string + rootFolder: + type: string + type: + type: string + type: object + factoryVSTSConfiguration: + description: Storage version of v1api20180601.FactoryVSTSConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + collaborationBranch: + type: string + disablePublish: + type: boolean + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: federatedidentitycredentials.managedidentity.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: managedidentity.azure.com + names: + categories: + - azure + - managedidentity + kind: FederatedIdentityCredential + listKind: FederatedIdentityCredentialList + plural: federatedidentitycredentials + singular: federatedidentitycredential + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220131preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + issuerFromConfig: + description: 'IssuerFromConfig: The URL of the issuer to be trusted.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: + description: 'Subject: The identifier of the external identity.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: The identifier of the external identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - audiences + - owner + type: object + status: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + type: string + name: + description: 'Name: The name of the resource' + type: string + subject: + description: 'Subject: The identifier of the external identity.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220131previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220131preview.FederatedIdentityCredential + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220131preview.FederatedIdentityCredential_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + issuer: + type: string + issuerFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20220131preview.FederatedIdentityCredentialOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220131preview.FederatedIdentityCredential_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + issuer: + type: string + name: + type: string + subject: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230131 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9]{1}[a-zA-Z0-9-_]{2,119}$ + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + issuerFromConfig: + description: 'IssuerFromConfig: The URL of the issuer to be trusted.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: + description: 'Subject: The identifier of the external identity.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: The identifier of the external identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - audiences + - owner + type: object + status: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + type: string + name: + description: 'Name: The name of the resource' + type: string + subject: + description: 'Subject: The identifier of the external identity.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230131storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230131.FederatedIdentityCredential + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230131.FederatedIdentityCredential_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + issuer: + type: string + issuerFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20230131.FederatedIdentityCredentialOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230131.FederatedIdentityCredential_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + issuer: + type: string + name: + type: string + subject: + type: string + systemData: + description: |- + Storage version of v1api20230131.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: firewallpolicies.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: FirewallPolicy + listKind: FirewallPolicyList + plural: firewallpolicies + singular: firewallpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + basePolicy: + description: 'BasePolicy: The parent firewall policy from which rules are inherited.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dnsSettings: + description: 'DnsSettings: DNS Proxy Settings definition.' + properties: + enableProxy: + description: 'EnableProxy: Enable DNS Proxy on Firewalls attached to the Firewall Policy.' + type: boolean + requireProxyForNetworkRules: + description: 'RequireProxyForNetworkRules: FQDNs in Network Rules are supported when set to true.' + type: boolean + servers: + description: 'Servers: List of Custom DNS Servers.' + items: + type: string + type: array + type: object + explicitProxy: + description: 'ExplicitProxy: Explicit Proxy Settings definition.' + properties: + enableExplicitProxy: + description: 'EnableExplicitProxy: When set to true, explicit proxy mode is enabled.' + type: boolean + enablePacFile: + description: 'EnablePacFile: When set to true, pac file port and url needs to be provided.' + type: boolean + httpPort: + description: 'HttpPort: Port number for explicit proxy http protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + httpsPort: + description: 'HttpsPort: Port number for explicit proxy https protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + pacFile: + description: 'PacFile: SAS URL for PAC file.' + type: string + pacFilePort: + description: 'PacFilePort: Port number for firewall to serve PAC file.' + maximum: 64000 + minimum: 0 + type: integer + type: object + identity: + description: 'Identity: The identity of the firewall policy.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + insights: + description: 'Insights: Insights on Firewall Policy.' + properties: + isEnabled: + description: 'IsEnabled: A flag to indicate if the insights are enabled on the policy.' + type: boolean + logAnalyticsResources: + description: 'LogAnalyticsResources: Workspaces needed to configure the Firewall Policy Insights.' + properties: + defaultWorkspaceId: + description: 'DefaultWorkspaceId: The default workspace Id for Firewall Policy Insights.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + workspaces: + description: 'Workspaces: List of workspaces for Firewall Policy Insights.' + items: + description: Log Analytics Workspace for Firewall Policy Insights. + properties: + region: + description: 'Region: Region to configure the Workspace.' + type: string + workspaceId: + description: 'WorkspaceId: The workspace Id for Firewall Policy Insights.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + retentionDays: + description: 'RetentionDays: Number of days the insights should be enabled on the policy.' + type: integer + type: object + intrusionDetection: + description: 'IntrusionDetection: The configuration for Intrusion detection.' + properties: + configuration: + description: 'Configuration: Intrusion detection configuration properties.' + properties: + bypassTrafficSettings: + description: 'BypassTrafficSettings: List of rules for traffic to bypass.' + items: + description: Intrusion detection bypass traffic specification. + properties: + description: + description: 'Description: Description of the bypass traffic rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or ranges for this rule.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports or ranges.' + items: + type: string + type: array + name: + description: 'Name: Name of the bypass traffic rule.' + type: string + protocol: + description: 'Protocol: The rule bypass protocol.' + enum: + - ANY + - ICMP + - TCP + - UDP + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses or ranges for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + privateRanges: + description: |- + PrivateRanges: IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By + default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify + your Private IP address ranges with this property + items: + type: string + type: array + signatureOverrides: + description: 'SignatureOverrides: List of specific signatures states.' + items: + description: Intrusion detection signatures specification states. + properties: + id: + description: 'Id: Signature id.' + type: string + mode: + description: 'Mode: The signature state.' + enum: + - Alert + - Deny + - "Off" + type: string + type: object + type: array + type: object + mode: + description: |- + Mode: Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the + stricter mode of the two. + enum: + - Alert + - Deny + - "Off" + type: string + profile: + description: |- + Profile: IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of + the parent policy. + enum: + - Advanced + - Basic + - Extended + - Standard + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The Firewall Policy SKU.' + properties: + tier: + description: 'Tier: Tier of Firewall Policy.' + enum: + - Basic + - Premium + - Standard + type: string + type: object + snat: + description: 'Snat: The private IP addresses/IP ranges to which traffic will not be SNAT.' + properties: + autoLearnPrivateRanges: + description: 'AutoLearnPrivateRanges: The operation mode for automatically learning private ranges to not be SNAT' + enum: + - Disabled + - Enabled + type: string + privateRanges: + description: 'PrivateRanges: List of private IP addresses/IP address ranges to not be SNAT.' + items: + type: string + type: array + type: object + sql: + description: 'Sql: SQL Settings definition.' + properties: + allowSqlRedirect: + description: |- + AllowSqlRedirect: A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule + using port 11000-11999. + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + enum: + - Alert + - Deny + - "Off" + type: string + threatIntelWhitelist: + description: 'ThreatIntelWhitelist: ThreatIntel Whitelist for Firewall Policy.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for the ThreatIntel Whitelist.' + items: + type: string + type: array + ipAddresses: + description: 'IpAddresses: List of IP addresses for the ThreatIntel Whitelist.' + items: + type: string + type: array + type: object + transportSecurity: + description: 'TransportSecurity: TLS Configuration definition.' + properties: + certificateAuthority: + description: 'CertificateAuthority: The CA used for intermediate CA generation.' + properties: + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the CA certificate.' + type: string + type: object + type: object + required: + - owner + type: object + status: + description: FirewallPolicy Resource. + properties: + basePolicy: + description: 'BasePolicy: The parent firewall policy from which rules are inherited.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + childPolicies: + description: 'ChildPolicies: List of references to Child Firewall Policies.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsSettings: + description: 'DnsSettings: DNS Proxy Settings definition.' + properties: + enableProxy: + description: 'EnableProxy: Enable DNS Proxy on Firewalls attached to the Firewall Policy.' + type: boolean + requireProxyForNetworkRules: + description: 'RequireProxyForNetworkRules: FQDNs in Network Rules are supported when set to true.' + type: boolean + servers: + description: 'Servers: List of Custom DNS Servers.' + items: + type: string + type: array + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + explicitProxy: + description: 'ExplicitProxy: Explicit Proxy Settings definition.' + properties: + enableExplicitProxy: + description: 'EnableExplicitProxy: When set to true, explicit proxy mode is enabled.' + type: boolean + enablePacFile: + description: 'EnablePacFile: When set to true, pac file port and url needs to be provided.' + type: boolean + httpPort: + description: 'HttpPort: Port number for explicit proxy http protocol, cannot be greater than 64000.' + type: integer + httpsPort: + description: 'HttpsPort: Port number for explicit proxy https protocol, cannot be greater than 64000.' + type: integer + pacFile: + description: 'PacFile: SAS URL for PAC file.' + type: string + pacFilePort: + description: 'PacFilePort: Port number for firewall to serve PAC file.' + type: integer + type: object + firewalls: + description: 'Firewalls: List of references to Azure Firewalls that this Firewall Policy is associated with.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The identity of the firewall policy.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + insights: + description: 'Insights: Insights on Firewall Policy.' + properties: + isEnabled: + description: 'IsEnabled: A flag to indicate if the insights are enabled on the policy.' + type: boolean + logAnalyticsResources: + description: 'LogAnalyticsResources: Workspaces needed to configure the Firewall Policy Insights.' + properties: + defaultWorkspaceId: + description: 'DefaultWorkspaceId: The default workspace Id for Firewall Policy Insights.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + workspaces: + description: 'Workspaces: List of workspaces for Firewall Policy Insights.' + items: + description: Log Analytics Workspace for Firewall Policy Insights. + properties: + region: + description: 'Region: Region to configure the Workspace.' + type: string + workspaceId: + description: 'WorkspaceId: The workspace Id for Firewall Policy Insights.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + type: object + retentionDays: + description: 'RetentionDays: Number of days the insights should be enabled on the policy.' + type: integer + type: object + intrusionDetection: + description: 'IntrusionDetection: The configuration for Intrusion detection.' + properties: + configuration: + description: 'Configuration: Intrusion detection configuration properties.' + properties: + bypassTrafficSettings: + description: 'BypassTrafficSettings: List of rules for traffic to bypass.' + items: + description: Intrusion detection bypass traffic specification. + properties: + description: + description: 'Description: Description of the bypass traffic rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or ranges for this rule.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports or ranges.' + items: + type: string + type: array + name: + description: 'Name: Name of the bypass traffic rule.' + type: string + protocol: + description: 'Protocol: The rule bypass protocol.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses or ranges for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + privateRanges: + description: |- + PrivateRanges: IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By + default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify + your Private IP address ranges with this property + items: + type: string + type: array + signatureOverrides: + description: 'SignatureOverrides: List of specific signatures states.' + items: + description: Intrusion detection signatures specification states. + properties: + id: + description: 'Id: Signature id.' + type: string + mode: + description: 'Mode: The signature state.' + type: string + type: object + type: array + type: object + mode: + description: |- + Mode: Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the + stricter mode of the two. + type: string + profile: + description: |- + Profile: IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of + the parent policy. + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall policy resource.' + type: string + ruleCollectionGroups: + description: 'RuleCollectionGroups: List of references to FirewallPolicyRuleCollectionGroups.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + size: + description: 'Size: A read-only string that represents the size of the FirewallPolicyPropertiesFormat in MB. (ex 0.5MB)' + type: string + sku: + description: 'Sku: The Firewall Policy SKU.' + properties: + tier: + description: 'Tier: Tier of Firewall Policy.' + type: string + type: object + snat: + description: 'Snat: The private IP addresses/IP ranges to which traffic will not be SNAT.' + properties: + autoLearnPrivateRanges: + description: 'AutoLearnPrivateRanges: The operation mode for automatically learning private ranges to not be SNAT' + type: string + privateRanges: + description: 'PrivateRanges: List of private IP addresses/IP address ranges to not be SNAT.' + items: + type: string + type: array + type: object + sql: + description: 'Sql: SQL Settings definition.' + properties: + allowSqlRedirect: + description: |- + AllowSqlRedirect: A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule + using port 11000-11999. + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + type: string + threatIntelWhitelist: + description: 'ThreatIntelWhitelist: ThreatIntel Whitelist for Firewall Policy.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for the ThreatIntel Whitelist.' + items: + type: string + type: array + ipAddresses: + description: 'IpAddresses: List of IP addresses for the ThreatIntel Whitelist.' + items: + type: string + type: array + type: object + transportSecurity: + description: 'TransportSecurity: TLS Configuration definition.' + properties: + certificateAuthority: + description: 'CertificateAuthority: The CA used for intermediate CA generation.' + properties: + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the CA certificate.' + type: string + type: object + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.FirewallPolicy + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.FirewallPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + basePolicy: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dnsSettings: + description: |- + Storage version of v1api20240301.DnsSettings + DNS Proxy Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableProxy: + type: boolean + requireProxyForNetworkRules: + type: boolean + servers: + items: + type: string + type: array + type: object + explicitProxy: + description: |- + Storage version of v1api20240301.ExplicitProxy + Explicit Proxy Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableExplicitProxy: + type: boolean + enablePacFile: + type: boolean + httpPort: + type: integer + httpsPort: + type: integer + pacFile: + type: string + pacFilePort: + type: integer + type: object + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + insights: + description: |- + Storage version of v1api20240301.FirewallPolicyInsights + Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + logAnalyticsResources: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsResources + Log Analytics Resources for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultWorkspaceId: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + workspaces: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsWorkspace + Log Analytics Workspace for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + region: + type: string + workspaceId: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + retentionDays: + type: integer + type: object + intrusionDetection: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetection + Configuration for intrusion detection mode and rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configuration: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionConfiguration + The operation for configuring intrusion detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypassTrafficSettings: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionBypassTrafficSpecifications + Intrusion detection bypass traffic specification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocol: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + privateRanges: + items: + type: string + type: array + signatureOverrides: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionSignatureSpecification + Intrusion detection signatures specification states. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + mode: + type: string + type: object + type: array + type: object + mode: + type: string + profile: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.FirewallPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20240301.FirewallPolicySku + SKU of Firewall policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + snat: + description: |- + Storage version of v1api20240301.FirewallPolicySNAT + The private IP addresses/IP ranges to which traffic will not be SNAT. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoLearnPrivateRanges: + type: string + privateRanges: + items: + type: string + type: array + type: object + sql: + description: |- + Storage version of v1api20240301.FirewallPolicySQL + SQL Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowSqlRedirect: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + threatIntelWhitelist: + description: |- + Storage version of v1api20240301.FirewallPolicyThreatIntelWhitelist + ThreatIntel Whitelist for Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + ipAddresses: + items: + type: string + type: array + type: object + transportSecurity: + description: |- + Storage version of v1api20240301.FirewallPolicyTransportSecurity + Configuration needed to perform TLS termination & initiation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240301.FirewallPolicyCertificateAuthority + Trusted Root certificates properties for tls. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultSecretId: + type: string + name: + type: string + type: object + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.FirewallPolicy_STATUS + FirewallPolicy Resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + basePolicy: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + childPolicies: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsSettings: + description: |- + Storage version of v1api20240301.DnsSettings_STATUS + DNS Proxy Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableProxy: + type: boolean + requireProxyForNetworkRules: + type: boolean + servers: + items: + type: string + type: array + type: object + etag: + type: string + explicitProxy: + description: |- + Storage version of v1api20240301.ExplicitProxy_STATUS + Explicit Proxy Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableExplicitProxy: + type: boolean + enablePacFile: + type: boolean + httpPort: + type: integer + httpsPort: + type: integer + pacFile: + type: string + pacFilePort: + type: integer + type: object + firewalls: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240301.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + insights: + description: |- + Storage version of v1api20240301.FirewallPolicyInsights_STATUS + Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + logAnalyticsResources: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsResources_STATUS + Log Analytics Resources for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultWorkspaceId: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + workspaces: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsWorkspace_STATUS + Log Analytics Workspace for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + region: + type: string + workspaceId: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + type: object + retentionDays: + type: integer + type: object + intrusionDetection: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetection_STATUS + Configuration for intrusion detection mode and rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configuration: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionConfiguration_STATUS + The operation for configuring intrusion detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypassTrafficSettings: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionBypassTrafficSpecifications_STATUS + Intrusion detection bypass traffic specification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocol: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + privateRanges: + items: + type: string + type: array + signatureOverrides: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionSignatureSpecification_STATUS + Intrusion detection signatures specification states. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + mode: + type: string + type: object + type: array + type: object + mode: + type: string + profile: + type: string + type: object + location: + type: string + name: + type: string + provisioningState: + type: string + ruleCollectionGroups: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + size: + type: string + sku: + description: |- + Storage version of v1api20240301.FirewallPolicySku_STATUS + SKU of Firewall policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + snat: + description: |- + Storage version of v1api20240301.FirewallPolicySNAT_STATUS + The private IP addresses/IP ranges to which traffic will not be SNAT. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoLearnPrivateRanges: + type: string + privateRanges: + items: + type: string + type: array + type: object + sql: + description: |- + Storage version of v1api20240301.FirewallPolicySQL_STATUS + SQL Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowSqlRedirect: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + threatIntelWhitelist: + description: |- + Storage version of v1api20240301.FirewallPolicyThreatIntelWhitelist_STATUS + ThreatIntel Whitelist for Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + ipAddresses: + items: + type: string + type: array + type: object + transportSecurity: + description: |- + Storage version of v1api20240301.FirewallPolicyTransportSecurity_STATUS + Configuration needed to perform TLS termination & initiation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240301.FirewallPolicyCertificateAuthority_STATUS + Trusted Root certificates properties for tls. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultSecretId: + type: string + name: + type: string + type: object + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: firewallpoliciesrulecollectiongroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: FirewallPoliciesRuleCollectionGroup + listKind: FirewallPoliciesRuleCollectionGroupList + plural: firewallpoliciesrulecollectiongroups + singular: firewallpoliciesrulecollectiongroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/FirewallPolicy resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection Group resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollections: + description: 'RuleCollections: Group of Firewall Policy rule collections.' + items: + properties: + firewallPolicyFilterRuleCollection: + description: 'FirewallPolicyFilter: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Filter rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + enum: + - FirewallPolicyFilterRuleCollection + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + enum: + - ApplicationRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + required: + - ruleType + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NatRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + required: + - ruleType + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NetworkRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + required: + - ruleType + type: object + type: object + type: array + required: + - ruleCollectionType + type: object + firewallPolicyNatRuleCollection: + description: 'FirewallPolicyNat: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Nat rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - DNAT + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + enum: + - FirewallPolicyNatRuleCollection + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + enum: + - ApplicationRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + required: + - ruleType + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NatRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + required: + - ruleType + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NetworkRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + required: + - ruleType + type: object + type: object + type: array + required: + - ruleCollectionType + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection Group resource.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall policy rule collection group resource.' + type: string + ruleCollections: + description: 'RuleCollections: Group of Firewall Policy rule collections.' + items: + properties: + firewallPolicyFilterRuleCollection: + description: 'FirewallPolicyFilter: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Filter rule collection.' + properties: + type: + description: 'Type: The type of action.' + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: object + type: array + type: object + firewallPolicyNatRuleCollection: + description: 'FirewallPolicyNat: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Nat rule collection.' + properties: + type: + description: 'Type: The type of action.' + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: object + type: array + type: object + type: object + type: array + size: + description: 'Size: A read-only string that represents the size of the FirewallPolicyRuleCollectionGroupProperties in MB. (ex 1.2MB)' + type: string + type: + description: 'Type: Rule Group type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/FirewallPolicy resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + ruleCollections: + items: + description: Storage version of v1api20240301.FirewallPolicyRuleCollection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + firewallPolicyFilterRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyFilterRuleCollection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.FirewallPolicyFilterRuleCollectionAction + Properties of the FirewallPolicyFilterRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array + type: object + firewallPolicyNatRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyNatRuleCollection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.FirewallPolicyNatRuleCollectionAction + Properties of the FirewallPolicyNatRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + name: + type: string + priority: + type: integer + provisioningState: + type: string + ruleCollections: + items: + description: Storage version of v1api20240301.FirewallPolicyRuleCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + firewallPolicyFilterRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyFilterRuleCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.FirewallPolicyFilterRuleCollectionAction_STATUS + Properties of the FirewallPolicyFilterRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert_STATUS + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol_STATUS + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array + type: object + firewallPolicyNatRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyNatRuleCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.FirewallPolicyNatRuleCollectionAction_STATUS + Properties of the FirewallPolicyNatRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert_STATUS + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol_STATUS + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array + type: object + type: object + type: array + size: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: firewallrules.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[a-zA-Z0-9][-_.a-zA-Z0-9]* + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongoCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + endIpAddress: + description: 'EndIpAddress: The end IP address of the mongo cluster firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the mongo cluster firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - startIpAddress + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + endIpAddress: + description: 'EndIpAddress: The end IP address of the mongo cluster firewall rule. Must be IPv4 format.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall rule.' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the mongo cluster firewall rule. Must be IPv4 format.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240701.FirewallRule + Generator information: + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240701.FirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240701.FirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongoCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20240701.FirewallRuleProperties + The properties of a mongo cluster firewall rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endIpAddress: + type: string + startIpAddress: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240701.FirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20240701.FirewallRuleProperties_STATUS + The properties of a mongo cluster firewall rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endIpAddress: + type: string + provisioningState: + type: string + startIpAddress: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fleets.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: Fleet + listKind: FleetList + plural: fleets + singular: fleet + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' + properties: + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + maxLength: 54 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$ + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: The Fleet resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' + properties: + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + type: string + fqdn: + description: 'Fqdn: The FQDN of the Fleet hub.' + type: string + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version of the Fleet hub.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The status of the last operation.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230315preview.Fleet + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230315preview.Fleet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + hubProfile: + description: |- + Storage version of v1api20230315preview.FleetHubProfile + The FleetHubProfile configures the fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsPrefix: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230315preview.FleetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230315preview.FleetOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230315preview.Fleet_STATUS + The Fleet resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + hubProfile: + description: |- + Storage version of v1api20230315preview.FleetHubProfile_STATUS + The FleetHubProfile configures the fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsPrefix: + type: string + fqdn: + type: string + kubernetesVersion: + type: string + type: object + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230315preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' + properties: + agentProfile: + description: 'AgentProfile: The agent profile for the Fleet hub.' + properties: + subnetReference: + description: |- + SubnetReference: The ID of the subnet which the Fleet hub node will join on startup. If this is not specified, a vnet + and subnet will be generated and used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + description: 'VmSize: The virtual machine size of the Fleet hub.' + type: string + type: object + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for the Fleet hub API server.' + properties: + enablePrivateCluster: + description: 'EnablePrivateCluster: Whether to create the Fleet hub as a private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the Fleet hub or not.' + type: boolean + subnetReference: + description: |- + SubnetReference: The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new + Fleet with BYO vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + maxLength: 54 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$ + type: string + type: object + identity: + description: 'Identity: Managed identity.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: The Fleet resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' + properties: + agentProfile: + description: 'AgentProfile: The agent profile for the Fleet hub.' + properties: + subnetId: + description: |- + SubnetId: The ID of the subnet which the Fleet hub node will join on startup. If this is not specified, a vnet and + subnet will be generated and used. + type: string + vmSize: + description: 'VmSize: The virtual machine size of the Fleet hub.' + type: string + type: object + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for the Fleet hub API server.' + properties: + enablePrivateCluster: + description: 'EnablePrivateCluster: Whether to create the Fleet hub as a private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the Fleet hub or not.' + type: boolean + subnetId: + description: |- + SubnetId: The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new Fleet + with BYO vnet. + type: string + type: object + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + type: string + fqdn: + description: 'Fqdn: The FQDN of the Fleet hub.' + type: string + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version of the Fleet hub.' + type: string + portalFqdn: + description: 'PortalFqdn: The Azure Portal FQDN of the Fleet hub.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: Managed identity.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The status of the last operation.' + type: string + status: + description: 'Status: Status information for the fleet.' + properties: + lastOperationError: + description: 'LastOperationError: The last operation error for the fleet.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + lastOperationId: + description: 'LastOperationId: The last operation ID for the fleet.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250301.Fleet + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250301.Fleet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + hubProfile: + description: |- + Storage version of v1api20250301.FleetHubProfile + The FleetHubProfile configures the fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentProfile: + description: |- + Storage version of v1api20250301.AgentProfile + Agent profile for the Fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetReference: + description: |- + SubnetReference: The ID of the subnet which the Fleet hub node will join on startup. If this is not specified, a vnet + and subnet will be generated and used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + type: string + type: object + apiServerAccessProfile: + description: |- + Storage version of v1api20250301.APIServerAccessProfile + Access profile for the Fleet hub API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enablePrivateCluster: + type: boolean + enableVnetIntegration: + type: boolean + subnetReference: + description: |- + SubnetReference: The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new + Fleet with BYO vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dnsPrefix: + type: string + type: object + identity: + description: |- + Storage version of v1api20250301.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250301.FleetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20250301.FleetOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250301.Fleet_STATUS + The Fleet resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + hubProfile: + description: |- + Storage version of v1api20250301.FleetHubProfile_STATUS + The FleetHubProfile configures the fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentProfile: + description: |- + Storage version of v1api20250301.AgentProfile_STATUS + Agent profile for the Fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetId: + type: string + vmSize: + type: string + type: object + apiServerAccessProfile: + description: |- + Storage version of v1api20250301.APIServerAccessProfile_STATUS + Access profile for the Fleet hub API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enablePrivateCluster: + type: boolean + enableVnetIntegration: + type: boolean + subnetId: + type: string + type: object + dnsPrefix: + type: string + fqdn: + type: string + kubernetesVersion: + type: string + portalFqdn: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20250301.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250301.CommonUserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + provisioningState: + type: string + status: + description: |- + Storage version of v1api20250301.FleetStatus_STATUS + Status information for the fleet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastOperationError: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + lastOperationId: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fleetsautoupgradeprofiles.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: FleetsAutoUpgradeProfile + listKind: FleetsAutoUpgradeProfileList + plural: fleetsautoupgradeprofiles + singular: fleetsautoupgradeprofile + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/autoUpgradeProfiles/{autoUpgradeProfileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + channel: + description: 'Channel: Configures how auto-upgrade will be run.' + enum: + - NodeImage + - Rapid + - Stable + type: string + disabled: + description: |- + Disabled: If set to False: the auto upgrade has effect - target managed clusters will be upgraded on schedule. + If set to True: the auto upgrade has no effect - no upgrade will be run on the target managed clusters. + This is a boolean and not an enum because enabled/disabled are all available states of the auto upgrade profile. + By default, this is set to False. + type: boolean + nodeImageSelection: + description: 'NodeImageSelection: The node image upgrade to be applied to the target clusters in auto upgrade.' + properties: + type: + description: 'Type: The node image upgrade type.' + enum: + - Consistent + - Latest + type: string + required: + - type + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + updateStrategyReference: + description: |- + UpdateStrategyReference: The resource id of the UpdateStrategy resource to reference. If not specified, the auto upgrade + will run on all clusters which are members of the fleet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - channel + - owner + type: object + status: + properties: + autoUpgradeProfileStatus: + description: 'AutoUpgradeProfileStatus: The status of the auto upgrade profile.' + properties: + lastTriggerError: + description: 'LastTriggerError: The error details of the last trigger.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + lastTriggerStatus: + description: 'LastTriggerStatus: The status of the last AutoUpgrade trigger.' + type: string + lastTriggerUpgradeVersions: + description: 'LastTriggerUpgradeVersions: The target Kubernetes version or node image versions of the last trigger.' + items: + type: string + type: array + lastTriggeredAt: + description: |- + LastTriggeredAt: The UTC time of the last attempt to automatically create and start an UpdateRun as triggered by the + release of new versions. + type: string + type: object + channel: + description: 'Channel: Configures how auto-upgrade will be run.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disabled: + description: |- + Disabled: If set to False: the auto upgrade has effect - target managed clusters will be upgraded on schedule. + If set to True: the auto upgrade has no effect - no upgrade will be run on the target managed clusters. + This is a boolean and not an enum because enabled/disabled are all available states of the auto upgrade profile. + By default, this is set to False. + type: boolean + eTag: + description: |- + 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. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + nodeImageSelection: + description: 'NodeImageSelection: The node image upgrade to be applied to the target clusters in auto upgrade.' + properties: + type: + description: 'Type: The node image upgrade type.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the AutoUpgradeProfile resource.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updateStrategyId: + description: |- + UpdateStrategyId: The resource id of the UpdateStrategy resource to reference. If not specified, the auto upgrade will + run on all clusters which are members of the fleet. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250301.FleetsAutoUpgradeProfile + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/autoUpgradeProfiles/{autoUpgradeProfileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250301.FleetsAutoUpgradeProfile_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + channel: + type: string + disabled: + type: boolean + nodeImageSelection: + description: |- + Storage version of v1api20250301.AutoUpgradeNodeImageSelection + The node image upgrade to be applied to the target clusters in auto upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20250301.FleetsAutoUpgradeProfileOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + updateStrategyReference: + description: |- + UpdateStrategyReference: The resource id of the UpdateStrategy resource to reference. If not specified, the auto upgrade + will run on all clusters which are members of the fleet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250301.FleetsAutoUpgradeProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeProfileStatus: + description: |- + Storage version of v1api20250301.AutoUpgradeProfileStatus_STATUS + AutoUpgradeProfileStatus is the status of an auto upgrade profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTriggerError: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + lastTriggerStatus: + type: string + lastTriggerUpgradeVersions: + items: + type: string + type: array + lastTriggeredAt: + type: string + type: object + channel: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disabled: + type: boolean + eTag: + type: string + id: + type: string + name: + type: string + nodeImageSelection: + description: |- + Storage version of v1api20250301.AutoUpgradeNodeImageSelection_STATUS + The node image upgrade to be applied to the target clusters in auto upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20250301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updateStrategyId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fleetsmembers.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: FleetsMember + listKind: FleetsMemberList + plural: fleetsmembers + singular: fleetsmember + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + clusterResourceReference: + description: |- + ClusterResourceReference: 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}'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - clusterResourceReference + - owner + type: object + status: + properties: + clusterResourceId: + description: |- + 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}'. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The status of the last operation.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230315preview.FleetsMember + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230315preview.FleetsMember_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterResourceReference: + description: |- + ClusterResourceReference: 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}'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + group: + type: string + operatorSpec: + description: |- + Storage version of v1api20230315preview.FleetsMemberOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - clusterResourceReference + - owner + type: object + status: + description: Storage version of v1api20230315preview.FleetsMember_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + group: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230315preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + clusterResourceReference: + description: |- + ClusterResourceReference: 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}'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - clusterResourceReference + - owner + type: object + status: + properties: + clusterResourceId: + description: |- + 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}'. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The status of the last operation.' + type: string + status: + description: 'Status: Status information of the last operation for fleet member.' + properties: + lastOperationError: + description: 'LastOperationError: The last operation error of the fleet member' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + lastOperationId: + description: 'LastOperationId: The last operation ID for the fleet member' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250301.FleetsMember + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250301.FleetsMember_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterResourceReference: + description: |- + ClusterResourceReference: 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}'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + group: + type: string + operatorSpec: + description: |- + Storage version of v1api20250301.FleetsMemberOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - clusterResourceReference + - owner + type: object + status: + description: Storage version of v1api20250301.FleetsMember_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + group: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + status: + description: |- + Storage version of v1api20250301.FleetMemberStatus_STATUS + Status information for the fleet member + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastOperationError: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + lastOperationId: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fleetsupdateruns.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: FleetsUpdateRun + listKind: FleetsUpdateRunList + plural: fleetsupdateruns + singular: fleetsupdaterun + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + managedClusterUpdate: + description: |- + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. + properties: + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + enum: + - Full + - NodeImageOnly + type: string + required: + - type + type: object + required: + - upgrade + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: |- + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + required: + - stages + type: object + required: + - managedClusterUpdate + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + managedClusterUpdate: + description: |- + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. + properties: + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + type: string + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the UpdateRun resource.' + type: string + status: + description: 'Status: The status of the UpdateRun.' + properties: + stages: + description: 'Stages: The stages composing an update run. Stages are run sequentially withing an UpdateRun.' + items: + description: The status of a UpdateStage. + properties: + afterStageWaitStatus: + description: 'AfterStageWaitStatus: The status of the wait period configured on the UpdateStage.' + properties: + status: + description: 'Status: The status of the wait duration.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + waitDurationInSeconds: + description: 'WaitDurationInSeconds: The wait duration configured in seconds.' + type: integer + type: object + groups: + description: 'Groups: The list of groups to be updated as part of this UpdateStage.' + items: + description: The status of a UpdateGroup. + properties: + members: + description: 'Members: The list of member this UpdateGroup updates.' + items: + description: The status of a member update operation. + properties: + clusterResourceId: + description: 'ClusterResourceId: The Azure resource id of the target Kubernetes cluster.' + type: string + name: + description: 'Name: The name of the FleetMember.' + type: string + operationId: + description: 'OperationId: The operation resource id of the latest attempt to perform the operation.' + type: string + status: + description: 'Status: The status of the MemberUpdate operation.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateGroup.' + type: string + status: + description: 'Status: The status of the UpdateGroup.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateStage.' + type: string + status: + description: 'Status: The status of the UpdateStage.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + status: + description: 'Status: The status of the UpdateRun.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + strategy: + description: |- + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + type: string + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230315previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230315preview.FleetsUpdateRun + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230315preview.FleetsUpdateRun_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + managedClusterUpdate: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpdate + The update to be applied to the ManagedClusters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgrade: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpgradeSpec + The upgrade to apply to a ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kubernetesVersion: + type: string + type: + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20230315preview.FleetsUpdateRunOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: |- + Storage version of v1api20230315preview.UpdateRunStrategy + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20230315preview.UpdateStage + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroup + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230315preview.FleetsUpdateRun_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + managedClusterUpdate: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpdate_STATUS + The update to be applied to the ManagedClusters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgrade: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpgradeSpec_STATUS + The upgrade to apply to a ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kubernetesVersion: + type: string + type: + type: string + type: object + type: object + name: + type: string + provisioningState: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateRunStatus_STATUS + The status of a UpdateRun. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20230315preview.UpdateStageStatus_STATUS + The status of a UpdateStage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitStatus: + description: |- + Storage version of v1api20230315preview.WaitStatus_STATUS + The status of the wait duration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + waitDurationInSeconds: + type: integer + type: object + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroupStatus_STATUS + The status of a UpdateGroup. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + members: + items: + description: |- + Storage version of v1api20230315preview.MemberUpdateStatus_STATUS + The status of a member update operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + name: + type: string + operationId: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + strategy: + description: |- + Storage version of v1api20230315preview.UpdateRunStrategy_STATUS + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20230315preview.UpdateStage_STATUS + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroup_STATUS + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20230315preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + managedClusterUpdate: + description: |- + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. + properties: + nodeImageSelection: + description: 'NodeImageSelection: The node image upgrade to be applied to the target nodes in update run.' + properties: + type: + description: 'Type: The node image upgrade type.' + enum: + - Consistent + - Custom + - Latest + type: string + required: + - type + type: object + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + enum: + - ControlPlaneOnly + - Full + - NodeImageOnly + type: string + required: + - type + type: object + required: + - upgrade + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: |- + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + required: + - stages + type: object + updateStrategyReference: + description: |- + UpdateStrategyReference: The resource id of the FleetUpdateStrategy resource to reference. + When creating a new run, there are three ways to define a strategy for the run: + 1. Define a new strategy in place: Set the "strategy" field. + 2. Use an existing strategy: Set the "updateStrategyId" field. (since 2023-08-15-preview) + 3. Use the default strategy to update all the members one by one: Leave both "updateStrategyId" and "strategy" unset. + (since 2023-08-15-preview) + Setting both "updateStrategyId" and "strategy" is invalid. + UpdateRuns created by "updateStrategyId" snapshot the referenced UpdateStrategy at the time of creation and store it in + the "strategy" field. + Subsequent changes to the referenced FleetUpdateStrategy resource do not propagate. + UpdateRunStrategy changes can be made directly on the "strategy" field before launching the UpdateRun. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - managedClusterUpdate + - owner + type: object + status: + properties: + autoUpgradeProfileId: + description: 'AutoUpgradeProfileId: AutoUpgradeProfileId is the id of an auto upgrade profile resource.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + managedClusterUpdate: + description: |- + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. + properties: + nodeImageSelection: + description: 'NodeImageSelection: The node image upgrade to be applied to the target nodes in update run.' + properties: + customNodeImageVersions: + description: |- + CustomNodeImageVersions: Custom node image versions to upgrade the nodes to. This field is required if node image + selection type is Custom. Otherwise, it must be empty. For each node image family (e.g., + 'AKSUbuntu-1804gen2containerd'), this field can contain at most one version (e.g., only one of + 'AKSUbuntu-1804gen2containerd-2023.01.12' or 'AKSUbuntu-1804gen2containerd-2023.02.12', not both). If the nodes belong + to a family without a matching image version in this field, they are not upgraded. + items: + description: The node upgrade image version. + properties: + version: + description: 'Version: The image version to upgrade the nodes to (e.g., ''AKSUbuntu-1804gen2containerd-2022.12.13'').' + type: string + type: object + type: array + type: + description: 'Type: The node image upgrade type.' + type: string + type: object + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + type: string + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the UpdateRun resource.' + type: string + status: + description: 'Status: The status of the UpdateRun.' + properties: + nodeImageSelection: + description: |- + NodeImageSelection: The node image upgrade specs for the update run. It is only set in update run when + `NodeImageSelection.type` is `Consistent`. + properties: + selectedNodeImageVersions: + description: 'SelectedNodeImageVersions: The image versions to upgrade the nodes to.' + items: + description: The node upgrade image version. + properties: + version: + description: 'Version: The image version to upgrade the nodes to (e.g., ''AKSUbuntu-1804gen2containerd-2022.12.13'').' + type: string + type: object + type: array + type: object + stages: + description: 'Stages: The stages composing an update run. Stages are run sequentially withing an UpdateRun.' + items: + description: The status of a UpdateStage. + properties: + afterStageWaitStatus: + description: 'AfterStageWaitStatus: The status of the wait period configured on the UpdateStage.' + properties: + status: + description: 'Status: The status of the wait duration.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + waitDurationInSeconds: + description: 'WaitDurationInSeconds: The wait duration configured in seconds.' + type: integer + type: object + groups: + description: 'Groups: The list of groups to be updated as part of this UpdateStage.' + items: + description: The status of a UpdateGroup. + properties: + members: + description: 'Members: The list of member this UpdateGroup updates.' + items: + description: The status of a member update operation. + properties: + clusterResourceId: + description: 'ClusterResourceId: The Azure resource id of the target Kubernetes cluster.' + type: string + message: + description: 'Message: The status message after processing the member update operation.' + type: string + name: + description: 'Name: The name of the FleetMember.' + type: string + operationId: + description: 'OperationId: The operation resource id of the latest attempt to perform the operation.' + type: string + status: + description: 'Status: The status of the MemberUpdate operation.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateGroup.' + type: string + status: + description: 'Status: The status of the UpdateGroup.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateStage.' + type: string + status: + description: 'Status: The status of the UpdateStage.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + status: + description: 'Status: The status of the UpdateRun.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + strategy: + description: |- + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + type: string + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updateStrategyId: + description: |- + UpdateStrategyId: The resource id of the FleetUpdateStrategy resource to reference. + When creating a new run, there are three ways to define a strategy for the run: + 1. Define a new strategy in place: Set the "strategy" field. + 2. Use an existing strategy: Set the "updateStrategyId" field. (since 2023-08-15-preview) + 3. Use the default strategy to update all the members one by one: Leave both "updateStrategyId" and "strategy" unset. + (since 2023-08-15-preview) + Setting both "updateStrategyId" and "strategy" is invalid. + UpdateRuns created by "updateStrategyId" snapshot the referenced UpdateStrategy at the time of creation and store it in + the "strategy" field. + Subsequent changes to the referenced FleetUpdateStrategy resource do not propagate. + UpdateRunStrategy changes can be made directly on the "strategy" field before launching the UpdateRun. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250301.FleetsUpdateRun + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250301.FleetsUpdateRun_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + managedClusterUpdate: + description: |- + Storage version of v1api20250301.ManagedClusterUpdate + The update to be applied to the ManagedClusters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeImageSelection: + description: |- + Storage version of v1api20250301.NodeImageSelection + The node image upgrade to be applied to the target nodes in update run. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + upgrade: + description: |- + Storage version of v1api20250301.ManagedClusterUpgradeSpec + The upgrade to apply to a ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kubernetesVersion: + type: string + type: + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20250301.FleetsUpdateRunOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: |- + Storage version of v1api20250301.UpdateRunStrategy + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20250301.UpdateStage + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20250301.UpdateGroup + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + updateStrategyReference: + description: |- + UpdateStrategyReference: The resource id of the FleetUpdateStrategy resource to reference. + When creating a new run, there are three ways to define a strategy for the run: + 1. Define a new strategy in place: Set the "strategy" field. + 2. Use an existing strategy: Set the "updateStrategyId" field. (since 2023-08-15-preview) + 3. Use the default strategy to update all the members one by one: Leave both "updateStrategyId" and "strategy" unset. + (since 2023-08-15-preview) + Setting both "updateStrategyId" and "strategy" is invalid. + UpdateRuns created by "updateStrategyId" snapshot the referenced UpdateStrategy at the time of creation and store it in + the "strategy" field. + Subsequent changes to the referenced FleetUpdateStrategy resource do not propagate. + UpdateRunStrategy changes can be made directly on the "strategy" field before launching the UpdateRun. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250301.FleetsUpdateRun_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeProfileId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + managedClusterUpdate: + description: |- + Storage version of v1api20250301.ManagedClusterUpdate_STATUS + The update to be applied to the ManagedClusters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeImageSelection: + description: |- + Storage version of v1api20250301.NodeImageSelection_STATUS + The node image upgrade to be applied to the target nodes in update run. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customNodeImageVersions: + items: + description: |- + Storage version of v1api20250301.NodeImageVersion_STATUS + The node upgrade image version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + type: array + type: + type: string + type: object + upgrade: + description: |- + Storage version of v1api20250301.ManagedClusterUpgradeSpec_STATUS + The upgrade to apply to a ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kubernetesVersion: + type: string + type: + type: string + type: object + type: object + name: + type: string + provisioningState: + type: string + status: + description: |- + Storage version of v1api20250301.UpdateRunStatus_STATUS + The status of a UpdateRun. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeImageSelection: + description: |- + Storage version of v1api20250301.NodeImageSelectionStatus_STATUS + The node image upgrade specs for the update run. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + selectedNodeImageVersions: + items: + description: |- + Storage version of v1api20250301.NodeImageVersion_STATUS + The node upgrade image version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + type: array + type: object + stages: + items: + description: |- + Storage version of v1api20250301.UpdateStageStatus_STATUS + The status of a UpdateStage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitStatus: + description: |- + Storage version of v1api20250301.WaitStatus_STATUS + The status of the wait duration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20250301.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + waitDurationInSeconds: + type: integer + type: object + groups: + items: + description: |- + Storage version of v1api20250301.UpdateGroupStatus_STATUS + The status of a UpdateGroup. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + members: + items: + description: |- + Storage version of v1api20250301.MemberUpdateStatus_STATUS + The status of a member update operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + message: + type: string + name: + type: string + operationId: + type: string + status: + description: |- + Storage version of v1api20250301.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: + type: string + status: + description: |- + Storage version of v1api20250301.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: + type: string + status: + description: |- + Storage version of v1api20250301.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + status: + description: |- + Storage version of v1api20250301.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20250301.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20250301.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20250301.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + strategy: + description: |- + Storage version of v1api20250301.UpdateRunStrategy_STATUS + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20250301.UpdateStage_STATUS + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20250301.UpdateGroup_STATUS + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20250301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updateStrategyId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fleetsupdatestrategies.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: FleetsUpdateStrategy + listKind: FleetsUpdateStrategyList + plural: fleetsupdatestrategies + singular: fleetsupdatestrategy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateStrategies/{updateStrategyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: 'Strategy: Defines the update sequence of the clusters.' + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + required: + - stages + type: object + required: + - owner + - strategy + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: |- + 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. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the UpdateStrategy resource.' + type: string + strategy: + description: 'Strategy: Defines the update sequence of the clusters.' + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + type: string + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250301.FleetsUpdateStrategy + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2025-03-01/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateStrategies/{updateStrategyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250301.FleetsUpdateStrategy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20250301.FleetsUpdateStrategyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + strategy: + description: |- + Storage version of v1api20250301.UpdateRunStrategy + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20250301.UpdateStage + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20250301.UpdateGroup + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250301.FleetsUpdateStrategy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + strategy: + description: |- + Storage version of v1api20250301.UpdateRunStrategy_STATUS + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20250301.UpdateStage_STATUS + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20250301.UpdateGroup_STATUS + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20250301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleservers.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + enum: + - Default + - GeoRestore + - PointInTimeRestore + - Replica + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + type: object + identity: + description: 'Identity: The cmk identity for the server.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + description: 'ReplicationRole: The replication role.' + enum: + - None + - Replica + - Source + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' + type: string + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The cmk identity for the server.' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' + type: string + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + type: string + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501.FlexibleServer + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20210501.Backup + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20210501.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20210501.HighAvailability + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20210501.Identity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20210501.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20210501.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20210501.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20210501.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210501.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20210501.Sku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + storage: + description: |- + Storage version of v1api20210501.Storage + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210501.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20210501.Backup_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20210501.DataEncryption_STATUS + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20210501.HighAvailability_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210501.Identity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20210501.MaintenanceWindow_STATUS + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + name: + type: string + network: + description: |- + Storage version of v1api20210501.Network_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneResourceId: + type: string + publicNetworkAccess: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20210501.Sku_STATUS + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20210501.Storage_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + enum: + - Default + - GeoRestore + - PointInTimeRestore + - Replica + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + type: object + identity: + description: 'Identity: The cmk identity for the server.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + sasToken: + description: 'SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + description: 'StorageType: Storage type of import source.' + enum: + - AzureBlob + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + enum: + - Disabled + - Enabled + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + description: 'ReplicationRole: The replication role.' + enum: + - None + - Replica + - Source + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + enum: + - Disabled + - Enabled + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + enum: + - Disabled + - Enabled + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' + type: string + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The cmk identity for the server.' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + type: object + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + storageType: + description: 'StorageType: Storage type of import source.' + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' + type: string + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + type: string + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: PrivateEndpointConnections related properties of a server.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + type: string + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230630.FlexibleServer + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20230630.Backup + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230630.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20230630.HighAvailability + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20230630.MySQLServerIdentity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230630.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + importSourceProperties: + description: |- + Storage version of v1api20230630.ImportSourceProperties + Import source related properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDirPath: + type: string + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + type: string + storageUrl: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20230630.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20230630.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230630.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230630.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230630.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20230630.MySQLServerSku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20230630.Storage + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230630.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20230630.Backup_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230630.DataEncryption_STATUS + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20230630.HighAvailability_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20230630.MySQLServerIdentity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + importSourceProperties: + description: |- + Storage version of v1api20230630.ImportSourceProperties_STATUS + Import source related properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDirPath: + type: string + storageType: + type: string + storageUrl: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20230630.MaintenanceWindow_STATUS + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + name: + type: string + network: + description: |- + Storage version of v1api20230630.Network_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneResourceId: + type: string + publicNetworkAccess: + type: string + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230630.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + replicaCapacity: + type: integer + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20230630.MySQLServerSku_STATUS + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20230630.Storage_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupIntervalHours: + description: 'BackupIntervalHours: Backup interval hours for the server.' + type: integer + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + enum: + - Default + - GeoRestore + - PointInTimeRestore + - Replica + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + type: object + identity: + description: 'Identity: The cmk identity for the server.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + sasToken: + description: 'SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + description: 'StorageType: Storage type of import source.' + enum: + - AzureBlob + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + enum: + - Disabled + - Enabled + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + description: 'ReplicationRole: The replication role.' + enum: + - None + - Replica + - Source + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + enum: + - Disabled + - Enabled + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + enum: + - Disabled + - Enabled + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupIntervalHours: + description: 'BackupIntervalHours: Backup interval hours for the server.' + type: integer + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' + type: string + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The cmk identity for the server.' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + type: object + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + storageType: + description: 'StorageType: Storage type of import source.' + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' + type: string + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + type: string + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: PrivateEndpointConnections related properties of a server.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + type: string + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231230.FlexibleServer + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231230.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20231230.Backup + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalHours: + type: integer + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20231230.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20231230.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20231230.MySQLServerIdentity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231230.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + importSourceProperties: + description: |- + Storage version of v1api20231230.ImportSourceProperties + Import source related properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDirPath: + type: string + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + type: string + storageUrl: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20231230.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20231230.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20231230.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231230.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231230.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20231230.MySQLServerSku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20231230.Storage + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231230.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20231230.Backup_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalHours: + type: integer + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20231230.DataEncryption_STATUS + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20231230.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20231230.MySQLServerIdentity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + importSourceProperties: + description: |- + Storage version of v1api20231230.ImportSourceProperties_STATUS + Import source related properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDirPath: + type: string + storageType: + type: string + storageUrl: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20231230.MaintenanceWindow_STATUS + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + name: + type: string + network: + description: |- + Storage version of v1api20231230.Network_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneResourceId: + type: string + publicNetworkAccess: + type: string + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20231230.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + replicaCapacity: + type: integer + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20231230.MySQLServerSku_STATUS + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20231230.Storage_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleservers.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - PointInTimeRestore + - Update + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string + name: + description: 'Name: The name of the resource' + type: string + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' + type: string + privateDnsZoneArmResourceId: + description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + type: string + state: + description: 'State: A state of a server that is visible to user.' + type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.FlexibleServer + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20210601.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20210601.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20210601.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20210601.Network + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210601.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20210601.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20210601.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20210601.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20210601.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20210601.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20210601.Network_STATUS + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20210601.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20210601.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - PointInTimeRestore + - Update + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string + name: + description: 'Name: The name of the resource' + type: string + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' + type: string + privateDnsZoneArmResourceId: + description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + type: string + state: + description: 'State: A state of a server that is visible to user.' + type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220120preview.FlexibleServer + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220120preview.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20220120preview.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20220120preview.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20220120preview.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20220120preview.Network + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20220120preview.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220120preview.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220120preview.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20220120preview.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20220120preview.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220120preview.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20220120preview.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20220120preview.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20220120preview.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20220120preview.Network_STATUS + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20220120preview.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20220120preview.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - Update + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' + type: string + primaryKeyURIFromConfig: + description: 'PrimaryKeyURIFromConfig: URI for the key for data encryption for primary server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + identity: + description: 'Identity: Describes the identity of the application.' + properties: + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + enum: + - None + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: represents user assigned identities map.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. + type: string + replicationRole: + description: 'ReplicationRole: Replication role of the server' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for primary + server. + type: string + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Describes the identity of the application.' + properties: + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + type: string + userAssignedIdentities: + additionalProperties: + description: Describes a single user-assigned identity associated with the application. + properties: + clientId: + description: 'ClientId: the client identifier of the Service Principal which this identity represents.' + type: string + principalId: + description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' + type: string + type: object + description: 'UserAssignedIdentities: represents user assigned identities map.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string + name: + description: 'Name: The name of the resource' + type: string + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. + type: string + replicaCapacity: + description: 'ReplicaCapacity: Replicas allowed for a server.' + type: integer + replicationRole: + description: 'ReplicationRole: Replication role of the server' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + type: string + state: + description: 'State: A state of a server that is visible to user.' + type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServer + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20221201.AuthConfig + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20221201.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20221201.DataEncryption + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20221201.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20221201.UserAssignedIdentity + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20221201.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20221201.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20221201.Network + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20221201.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20221201.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20221201.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20221201.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20221201.AuthConfig_STATUS + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20221201.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20221201.DataEncryption_STATUS + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20221201.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20221201.UserAssignedIdentity_STATUS + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20221201.UserIdentity_STATUS + Describes a single user-assigned identity associated with the application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20221201.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20221201.Network_STATUS + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20221201.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20221201.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - ReviveDropped + - Update + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + geoBackupEncryptionKeyStatus: + description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' + enum: + - Invalid + - Valid + type: string + geoBackupKeyURI: + description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' + type: string + geoBackupKeyURIFromConfig: + description: 'GeoBackupKeyURIFromConfig: URI for the key in keyvault for data encryption for geo-backup of server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' + enum: + - Invalid + - Valid + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' + type: string + primaryKeyURIFromConfig: + description: 'PrimaryKeyURIFromConfig: URI for the key in keyvault for data encryption of the primary server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + identity: + description: 'Identity: Describes the identity of the application.' + properties: + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + enum: + - None + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: represents user assigned identities map.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + enum: + - Disabled + - Enabled + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. + type: string + replica: + description: |- + Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to + Promote a server. + properties: + promoteMode: + description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' + enum: + - standalone + - switchover + type: string + promoteOption: + description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' + enum: + - forced + - planned + type: string + role: + description: 'Role: Used to indicate role of the server in replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + type: object + replicationRole: + description: 'ReplicationRole: Replication role of the server' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + throughput: + description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' + type: integer + tier: + description: 'Tier: Name of storage tier for IOPS.' + enum: + - P1 + - P10 + - P15 + - P2 + - P20 + - P3 + - P30 + - P4 + - P40 + - P50 + - P6 + - P60 + - P70 + - P80 + type: string + type: + description: |- + Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not + specified + enum: + - PremiumV2_LRS + - Premium_LRS + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + - "15" + - "16" + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + geoBackupEncryptionKeyStatus: + description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' + type: string + geoBackupKeyURI: + description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + type: string + primaryEncryptionKeyStatus: + description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption of the primary + server. + type: string + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: Describes the identity of the application.' + properties: + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + type: string + userAssignedIdentities: + additionalProperties: + description: Describes a single user-assigned identity associated with the application. + properties: + clientId: + description: 'ClientId: the client identifier of the Service Principal which this identity represents.' + type: string + principalId: + description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' + type: string + type: object + description: 'UserAssignedIdentities: represents user assigned identities map.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string + name: + description: 'Name: The name of the resource' + type: string + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified resource.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replica: + description: |- + Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to + Promote a server. + properties: + capacity: + description: 'Capacity: Replicas allowed for a server.' + type: integer + promoteMode: + description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' + type: string + promoteOption: + description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' + type: string + replicationState: + description: |- + ReplicationState: Gets the replication state of a replica server. This property is returned only for replicas api call. + Supported values are Active, Catchup, Provisioning, Updating, Broken, Reconfiguring + type: string + role: + description: 'Role: Used to indicate role of the server in replication set.' + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: Replicas allowed for a server.' + type: integer + replicationRole: + description: 'ReplicationRole: Replication role of the server' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + type: string + state: + description: 'State: A state of a server that is visible to user.' + type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' + type: string + iops: + description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + throughput: + description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' + type: integer + tier: + description: 'Tier: Name of storage tier for IOPS.' + type: string + type: + description: |- + Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not + specified + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601preview.FlexibleServer + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601preview.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20230601preview.AuthConfig + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20230601preview.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230601preview.DataEncryption + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20230601preview.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentity + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20230601preview.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20230601preview.Network + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230601preview.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230601preview.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230601preview.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + replica: + description: |- + Storage version of v1api20230601preview.Replica + Replica properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + promoteMode: + type: string + promoteOption: + type: string + role: + type: string + type: object + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20230601preview.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20230601preview.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230601preview.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20230601preview.AuthConfig_STATUS + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20230601preview.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230601preview.DataEncryption_STATUS + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20230601preview.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentity_STATUS + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230601preview.UserIdentity_STATUS + Describes a single user-assigned identity associated with the application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20230601preview.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20230601preview.Network_STATUS + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230601preview.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + replica: + description: |- + Storage version of v1api20230601preview.Replica_STATUS + Replica properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + promoteMode: + type: string + promoteOption: + type: string + replicationState: + type: string + role: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20230601preview.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20230601preview.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: |- + AdministratorLogin: Name of the login designated as the first password based administrator assigned to your instance of + PostgreSQL. Must be specified the first time that you enable password based authentication on a server. Once set to a + given value, it cannot be changed for the rest of the life of a server. If you disable password based authentication on + a server which had it enabled, this password based role isn't deleted. + type: string + administratorLoginPassword: + description: |- + AdministratorLoginPassword: Password assigned to the administrator login. As long as password authentication is enabled, + this password can be changed at any time. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: Authentication configuration properties of a flexible server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: Indicates if the server supports Microsoft Entra authentication.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: Indicates if the server supports password based authentication.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of the delegated resource.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: Availability zone of a flexible server.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* + type: string + backup: + description: 'Backup: Backup properties of a flexible server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the flexible server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Indicates if the server is configured to create geographically redundant backups.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: Creation mode of a new flexible server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - ReviveDropped + - Update + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a flexible server.' + properties: + geoBackupEncryptionKeyStatus: + description: |- + GeoBackupEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the geographically redundant storage associated to the server when it is configured to support + geographically redundant backups. + enum: + - Invalid + - Valid + type: string + geoBackupKeyURI: + description: |- + GeoBackupKeyURI: Identifier of the user assigned managed identity used to access the key in Azure Key Vault for data + encryption of the geographically redundant storage associated to a flexible server that is configured to support + geographically redundant backups. + type: string + geoBackupKeyURIFromConfig: + description: |- + GeoBackupKeyURIFromConfig: Identifier of the user assigned managed identity used to access the key in Azure Key Vault + for data encryption of the geographically redundant storage associated to a flexible server that is configured to + support geographically redundant backups. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured + to support geographically redundant backups. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + description: |- + PrimaryEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the primary storage associated to the server. + enum: + - Invalid + - Valid + type: string + primaryKeyURI: + description: |- + PrimaryKeyURI: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to a + flexible server. + type: string + primaryKeyURIFromConfig: + description: |- + PrimaryKeyURIFromConfig: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to + a flexible server. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the primary storage associated to a flexible server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type used by a flexible server.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a flexible server.' + properties: + mode: + description: 'Mode: High availability mode for a flexible server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: |- + StandbyAvailabilityZone: Availability zone associated to the standby server created when high availability is set to + SameZone or ZoneRedundant. + type: string + type: object + identity: + description: 'Identity: User assigned managed identities assigned to the flexible server.' + properties: + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' + type: string + type: + description: 'Type: Types of identities associated with a flexible server.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Map of user assigned managed identities.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a flexible server.' + properties: + customWindow: + description: 'CustomWindow: Indicates whether custom window is enabled or disabled.' + type: string + dayOfWeek: + description: 'DayOfWeek: Day of the week to be used for maintenance window.' + type: integer + startHour: + description: 'StartHour: Start hour to be used for maintenance window.' + type: integer + startMinute: + description: 'StartMinute: Start minute to be used for maintenance window.' + type: integer + type: object + network: + description: |- + Network: Network properties of a flexible server. Only required if you want your server to be integrated into a virtual + network provided by customer. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Resource identifier of the delegated subnet. Required during creation of a new server, + in case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Identifier of the private DNS zone. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Indicates if public network access is enabled or not.' + enum: + - Disabled + - Enabled + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Creation time (in ISO8601 format) of the backup which you want to restore in the new flexible server. + It's required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', or 'ReviveDropped'. + type: string + replica: + description: 'Replica: Read replica properties of a flexible server. Required only in case that you want to promote a server.' + properties: + promoteMode: + description: |- + PromoteMode: Type of operation to apply on the read replica. This property is write only. Standalone means that the read + replica will be promoted to a standalone server, and will become a completely independent entity from the replication + set. Switchover means that the read replica will roles with the primary server. + enum: + - standalone + - switchover + type: string + promoteOption: + description: |- + PromoteOption: Data synchronization option to use when processing the operation specified in the promoteMode property + This property is write only. Planned means that the operation will wait for data in the read replica to be fully + synchronized with its source server before it initiates the operation. Forced means that the operation will not wait for + data in the read replica to be synchronized with its source server before it initiates the operation. + enum: + - forced + - planned + type: string + role: + description: 'Role: Role of the server in a replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + type: object + replicationRole: + description: 'ReplicationRole: Role of the server in a replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: Compute tier and size of a flexible server.' + properties: + name: + description: 'Name: Name by which is known a given compute size assigned to a flexible server.' + type: string + tier: + description: 'Tier: Tier of the compute assigned to a flexible server.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: Identifier of the flexible server to be used as the source of the new flexible server. + Required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is + returned only when the target flexible server is a read replica. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a flexible server.' + properties: + autoGrow: + description: |- + AutoGrow: Flag to enable or disable the automatic growth of storage size of a flexible server when available space is + nearing zero and conditions allow for automatically growing storage size. + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Maximum IOPS supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Size of storage assigned to a flexible server.' + type: integer + throughput: + description: 'Throughput: Maximum throughput supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + tier: + description: 'Tier: Storage tier of a flexible server.' + enum: + - P1 + - P10 + - P15 + - P2 + - P20 + - P3 + - P30 + - P4 + - P40 + - P50 + - P6 + - P60 + - P70 + - P80 + type: string + type: + description: |- + Type: Type of storage assigned to a flexible server. Allowed values are Premium_LRS or PremiumV2_LRS. If not specified, + it defaults to Premium_LRS. + enum: + - PremiumV2_LRS + - Premium_LRS + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: Major version of PostgreSQL database engine.' + enum: + - "11" + - "12" + - "13" + - "14" + - "15" + - "16" + type: string + required: + - location + - owner + type: object + status: + properties: + administratorLogin: + description: |- + AdministratorLogin: Name of the login designated as the first password based administrator assigned to your instance of + PostgreSQL. Must be specified the first time that you enable password based authentication on a server. Once set to a + given value, it cannot be changed for the rest of the life of a server. If you disable password based authentication on + a server which had it enabled, this password based role isn't deleted. + type: string + authConfig: + description: 'AuthConfig: Authentication configuration properties of a flexible server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: Indicates if the server supports Microsoft Entra authentication.' + type: string + passwordAuth: + description: 'PasswordAuth: Indicates if the server supports password based authentication.' + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of the delegated resource.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: Availability zone of a flexible server.' + type: string + backup: + description: 'Backup: Backup properties of a flexible server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the flexible server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point time (ISO8601 format) for a flexible server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Indicates if the server is configured to create geographically redundant backups.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: Creation mode of a new flexible server.' + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a flexible server.' + properties: + geoBackupEncryptionKeyStatus: + description: |- + GeoBackupEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the geographically redundant storage associated to the server when it is configured to support + geographically redundant backups. + type: string + geoBackupKeyURI: + description: |- + GeoBackupKeyURI: Identifier of the user assigned managed identity used to access the key in Azure Key Vault for data + encryption of the geographically redundant storage associated to a flexible server that is configured to support + geographically redundant backups. + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key + Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured to + support geographically redundant backups. + type: string + primaryEncryptionKeyStatus: + description: |- + PrimaryEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the primary storage associated to the server. + type: string + primaryKeyURI: + description: |- + PrimaryKeyURI: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to a + flexible server. + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key + Vault for data encryption of the primary storage associated to a flexible server. + type: string + type: + description: 'Type: Data encryption type used by a flexible server.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: Fully qualified domain name of a flexible server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a flexible server.' + properties: + mode: + description: 'Mode: High availability mode for a flexible server.' + type: string + standbyAvailabilityZone: + description: |- + StandbyAvailabilityZone: Availability zone associated to the standby server created when high availability is set to + SameZone or ZoneRedundant. + type: string + state: + description: 'State: Possible states of the standby server created when high availability is set to SameZone or ZoneRedundant.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: User assigned managed identities assigned to the flexible server.' + properties: + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of a flexible server.' + type: string + type: + description: 'Type: Types of identities associated with a flexible server.' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned managed identity associated with a flexible server. + properties: + clientId: + description: 'ClientId: Identifier of the client of the service principal associated to the user assigned managed identity.' + type: string + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' + type: string + type: object + description: 'UserAssignedIdentities: Map of user assigned managed identities.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a flexible server.' + properties: + customWindow: + description: 'CustomWindow: Indicates whether custom window is enabled or disabled.' + type: string + dayOfWeek: + description: 'DayOfWeek: Day of the week to be used for maintenance window.' + type: integer + startHour: + description: 'StartHour: Start hour to be used for maintenance window.' + type: integer + startMinute: + description: 'StartMinute: Start minute to be used for maintenance window.' + type: integer + type: object + minorVersion: + description: 'MinorVersion: Minor version of PostgreSQL database engine.' + type: string + name: + description: 'Name: The name of the resource' + type: string + network: + description: |- + Network: Network properties of a flexible server. Only required if you want your server to be integrated into a virtual + network provided by customer. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Resource identifier of the delegated subnet. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Identifier of the private DNS zone. Required during creation of a new server, in case you + want the server to be integrated into your own virtual network. For an update operation, you only have to provide this + property if you want to change the value assigned for the private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Indicates if public network access is enabled or not.' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Creation time (in ISO8601 format) of the backup which you want to restore in the new flexible server. + It's required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', or 'ReviveDropped'. + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified flexible server.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replica: + description: 'Replica: Read replica properties of a flexible server. Required only in case that you want to promote a server.' + properties: + capacity: + description: 'Capacity: Maximum number of read replicas allowed for a flexible server.' + type: integer + promoteMode: + description: |- + PromoteMode: Type of operation to apply on the read replica. This property is write only. Standalone means that the read + replica will be promoted to a standalone server, and will become a completely independent entity from the replication + set. Switchover means that the read replica will roles with the primary server. + type: string + promoteOption: + description: |- + PromoteOption: Data synchronization option to use when processing the operation specified in the promoteMode property + This property is write only. Planned means that the operation will wait for data in the read replica to be fully + synchronized with its source server before it initiates the operation. Forced means that the operation will not wait for + data in the read replica to be synchronized with its source server before it initiates the operation. + type: string + replicationState: + description: |- + ReplicationState: Indicates the replication state of a read replica. This property is returned only when the target + flexible server is a read replica. Possible values are Active, Broken, Catchup, Provisioning, Reconfiguring, and + Updating + type: string + role: + description: 'Role: Role of the server in a replication set.' + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: Maximum number of read replicas allowed for a flexible server.' + type: integer + replicationRole: + description: 'ReplicationRole: Role of the server in a replication set.' + type: string + sku: + description: 'Sku: Compute tier and size of a flexible server.' + properties: + name: + description: 'Name: Name by which is known a given compute size assigned to a flexible server.' + type: string + tier: + description: 'Tier: Tier of the compute assigned to a flexible server.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: Identifier of the flexible server to be used as the source of the new flexible server. Required + when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is returned only + when the target flexible server is a read replica. + type: string + state: + description: 'State: Possible states of a flexible server.' + type: string + storage: + description: 'Storage: Storage properties of a flexible server.' + properties: + autoGrow: + description: |- + AutoGrow: Flag to enable or disable the automatic growth of storage size of a flexible server when available space is + nearing zero and conditions allow for automatically growing storage size. + type: string + iops: + description: 'Iops: Maximum IOPS supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Size of storage assigned to a flexible server.' + type: integer + throughput: + description: 'Throughput: Maximum throughput supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + tier: + description: 'Tier: Storage tier of a flexible server.' + type: string + type: + description: |- + Type: Type of storage assigned to a flexible server. Allowed values are Premium_LRS or PremiumV2_LRS. If not specified, + it defaults to Premium_LRS. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: Major version of PostgreSQL database engine.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServer + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20240801.AuthConfig + Authentication configuration properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20240801.Backup + Backup properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20240801.DataEncryption + Data encryption properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured + to support geographically redundant backups. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the primary storage associated to a flexible server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20240801.HighAvailability + High availability properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20240801.UserAssignedIdentity + Identities associated with a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20240801.MaintenanceWindow + Maintenance window properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20240801.Network + Network properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Resource identifier of the delegated subnet. Required during creation of a new server, + in case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Identifier of the private DNS zone. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240801.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240801.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + replica: + description: |- + Storage version of v1api20240801.Replica + Replica properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + promoteMode: + type: string + promoteOption: + type: string + role: + type: string + type: object + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20240801.Sku + Compute information of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: Identifier of the flexible server to be used as the source of the new flexible server. + Required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is + returned only when the target flexible server is a read replica. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20240801.Storage + Storage properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20240801.AuthConfig_STATUS + Authentication configuration properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20240801.Backup_STATUS + Backup properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20240801.DataEncryption_STATUS + Data encryption properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20240801.HighAvailability_STATUS + High availability properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240801.UserAssignedIdentity_STATUS + Identities associated with a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240801.UserIdentity_STATUS + User assigned managed identity associated with a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20240801.MaintenanceWindow_STATUS + Maintenance window properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20240801.Network_STATUS + Network properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240801.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + replica: + description: |- + Storage version of v1api20240801.Replica_STATUS + Replica properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + promoteMode: + type: string + promoteOption: + type: string + replicationState: + type: string + role: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20240801.Sku_STATUS + Compute information of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20240801.Storage_STATUS + Storage properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversadministrators.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServersAdministrator + listKind: FlexibleServersAdministratorList + plural: flexibleserversadministrators + singular: flexibleserversadministrator + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2022-01-01/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + description: 'Login: Login name of the server administrator.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + name: + description: 'Name: The name of the resource' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220101.FlexibleServersAdministrator + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2022-01-01/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220101.FlexibleServersAdministrator_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + type: string + operatorSpec: + description: |- + Storage version of v1api20220101.FlexibleServersAdministratorOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220101.FlexibleServersAdministrator_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identityResourceId: + type: string + login: + type: string + name: + type: string + sid: + type: string + systemData: + description: |- + Storage version of v1api20220101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + description: 'Login: Login name of the server administrator.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + name: + description: 'Name: The name of the resource' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230630.FlexibleServersAdministrator + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServersAdministrator_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + type: string + operatorSpec: + description: |- + Storage version of v1api20230630.FlexibleServersAdministratorOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230630.FlexibleServersAdministrator_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identityResourceId: + type: string + login: + type: string + name: + type: string + sid: + type: string + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + description: 'Login: Login name of the server administrator.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + name: + description: 'Name: The name of the resource' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231230.FlexibleServersAdministrator + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231230.FlexibleServersAdministrator_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + type: string + operatorSpec: + description: |- + Storage version of v1api20231230.FlexibleServersAdministratorOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231230.FlexibleServersAdministrator_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identityResourceId: + type: string + login: + type: string + name: + type: string + sid: + type: string + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersAdvancedThreatProtectionSettings + listKind: FlexibleServersAdvancedThreatProtectionSettingsList + plural: flexibleserversadvancedthreatprotectionsettings + singular: flexibleserversadvancedthreatprotectionsettings + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/ThreatProtection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: Specifies the state of the advanced threat protection, whether it is enabled, disabled, or a state has not been + applied yet on the flexible server. + enum: + - Disabled + - Enabled + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Specifies the creation time (UTC) of the policy.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: Specifies the state of the advanced threat protection, whether it is enabled, disabled, or a state has not been + applied yet on the flexible server. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/ThreatProtection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettingsOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + id: + type: string + name: + type: string + state: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversbackups.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersBackup + listKind: FlexibleServersBackupList + plural: flexibleserversbackups + singular: flexibleserversbackup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Backups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + backupType: + description: 'BackupType: Type of backup.' + type: string + completedTime: + description: 'CompletedTime: Time(ISO8601 format) at which the backup was completed.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the backup.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersBackup + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Backups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersBackup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersBackupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersBackup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + completedTime: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversconfigurations.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServersConfiguration + listKind: FlexibleServersConfigurationList + plural: flexibleserversconfigurations + singular: flexibleserversconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2022-01-01/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9_.-]+$ + type: string + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220101.FlexibleServersConfiguration + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2022-01-01/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220101.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + type: string + operatorSpec: + description: |- + Storage version of v1api20220101.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220101.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + type: string + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20220101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230630.FlexibleServersConfiguration + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + type: string + operatorSpec: + description: |- + Storage version of v1api20230630.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230630.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + type: string + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231230.FlexibleServersConfiguration + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231230.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + type: string + operatorSpec: + description: |- + Storage version of v1api20231230.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231230.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentValue: + type: string + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversconfigurations.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersConfiguration + listKind: FlexibleServersConfigurationList + plural: flexibleserversconfigurations + singular: flexibleserversconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220120preview.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220120preview.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20220120preview.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220120preview.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration. Required to update the configuration.' + type: string + value: + description: 'Value: Value of the configuration. Required to update the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration. Required to update the configuration.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration. Required to update the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601preview.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601preview.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230601preview.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230601preview.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: |- + Source: Source of the value assigned to the server parameter. Required to update the value assigned to a specific + modifiable server parameter. + type: string + value: + description: |- + Value: Value of the server parameter (also known as configuration). Required to update the value assigned to a specific + modifiable server parameter. + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the server parameter.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the server parameter.' + type: string + defaultValue: + description: 'DefaultValue: Value assigned by default to the server parameter.' + type: string + description: + description: 'Description: Description of the server parameter.' + type: string + documentationLink: + description: 'DocumentationLink: Link pointing to the documentation of the server parameter.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: |- + IsConfigPendingRestart: Indicates if the value assigned to the server parameter is pending a server restart for the + value to take effect. + type: boolean + isDynamicConfig: + description: |- + IsDynamicConfig: Indicates if it's a dynamic (true) or static (false) server parameter. Static server parameters require + a server restart after changing the value assigned to it, for the change to take effect. Dynamic server parameters do + not require a server restart after changing the value assigned to it, for the change to take effect. + type: boolean + isReadOnly: + description: 'IsReadOnly: Indicates if it''s a read-only (true) or modifiable (false) server parameter.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: |- + Source: Source of the value assigned to the server parameter. Required to update the value assigned to a specific + modifiable server parameter. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Units in which the server parameter value is expressed.' + type: string + value: + description: |- + Value: Value of the server parameter (also known as configuration). Required to update the value assigned to a specific + modifiable server parameter. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversdatabases.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServersDatabase + listKind: FlexibleServersDatabaseList + plural: flexibleserversdatabases + singular: flexibleserversdatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501.FlexibleServersDatabase + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20210501.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210501.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230630.FlexibleServersDatabase + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20230630.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230630.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231230.FlexibleServersDatabase + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231230.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20231230.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231230.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversdatabases.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersDatabase + listKind: FlexibleServersDatabaseList + plural: flexibleserversdatabases + singular: flexibleserversdatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220120preview.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220120preview.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20220120preview.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220120preview.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + charset: + description: 'Charset: The charset of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: The collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + charset: + description: 'Charset: The charset of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: The collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601preview.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601preview.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20230601preview.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230601preview.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + charset: + description: 'Charset: Character set of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: Collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: Character set of the database.' + type: string + collation: + description: 'Collation: Collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversfirewallrules.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServersFirewallRule + listKind: FlexibleServersFirewallRuleList + plural: flexibleserversfirewallrules + singular: flexibleserversfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501.FlexibleServersFirewallRule + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20210501.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210501.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230630storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230630.FlexibleServersFirewallRule + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20230630.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230630.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231230storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231230.FlexibleServersFirewallRule + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231230.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20231230.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231230.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversfirewallrules.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersFirewallRule + listKind: FlexibleServersFirewallRuleList + plural: flexibleserversfirewallrules + singular: flexibleserversfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220120preview.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20220120preview.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601preview.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20230601preview.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + endIpAddress: + description: 'EndIpAddress: IP address defining the end of the range of addresses of a firewall rule. Must be expressed in IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: |- + StartIpAddress: IP address defining the start of the range of addresses of a firewall rule. Must be expressed in IPv4 + format. + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: IP address defining the end of the range of addresses of a firewall rule. Must be expressed in IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: |- + StartIpAddress: IP address defining the start of the range of addresses of a firewall rule. Must be expressed in IPv4 + format. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: flexibleserversvirtualendpoints.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersVirtualEndpoint + listKind: FlexibleServersVirtualEndpointList + plural: flexibleserversvirtualendpoints + singular: flexibleserversvirtualendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/VirtualEndpoints.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints/{virtualEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + endpointType: + description: 'EndpointType: Type of endpoint for the virtual endpoints.' + enum: + - ReadWrite + type: string + members: + description: 'Members: List of flexible servers that one of the virtual endpoints can refer to.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpointType: + description: 'EndpointType: Type of endpoint for the virtual endpoints.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + members: + description: 'Members: List of flexible servers that one of the virtual endpoints can refer to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualEndpoints: + description: 'VirtualEndpoints: List of virtual endpoints for a flexible server.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersVirtualEndpoint + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/VirtualEndpoints.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints/{virtualEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersVirtualEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endpointType: + type: string + members: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersVirtualEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersVirtualEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpointType: + type: string + id: + type: string + members: + items: + type: string + type: array + name: + type: string + systemData: + description: |- + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + virtualEndpoints: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: fluxconfigurations.kubernetesconfiguration.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kubernetesconfiguration.azure.com + names: + categories: + - azure + - kubernetesconfiguration + kind: FluxConfiguration + listKind: FluxConfigurationList + plural: fluxconfigurations + singular: fluxconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' + properties: + accountKey: + description: 'AccountKey: The account key (shared key) to access the storage account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + sasToken: + description: 'SasToken: The Shared Access token to access the storage container' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: 'ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client Id for authenticating a Service Principal.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant Id for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + accessKey: + description: 'AccessKey: Plaintext access key used to securely access the S3 bucket' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' + type: string + type: object + configurationProtectedSettings: + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' + properties: + httpsCACert: + description: 'HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string + type: object + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' + type: object + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' + enum: + - cluster + - namespace + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + enum: + - AzureBlob + - Bucket + - GitRepository + type: string + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean + required: + - owner + type: object + status: + description: The Flux Configuration object returned in Get & Put response. + properties: + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' + properties: + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' + type: string + type: object + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' + type: string + type: object + complianceState: + description: |- + ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the + managed objects. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + type: object + errorMessage: + description: 'ErrorMessage: Error message returned to the user in the case of provisioning failure.' + type: string + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' + properties: + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + name: + description: 'Name: Name of the Kustomization, matching the key in the Kustomizations object map.' + type: string + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' + type: object + name: + description: 'Name: The name of the resource' + type: string + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string + provisioningState: + description: 'ProvisioningState: Status of the creation of the fluxConfiguration.' + type: string + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + repositoryPublicKey: + description: |- + RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided + by the user). + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + type: string + sourceSyncedCommitId: + description: 'SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.' + type: string + sourceUpdatedAt: + description: 'SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.' + type: string + statusUpdatedAt: + description: 'StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.' + type: string + statuses: + description: |- + Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects + provisioned by the fluxConfiguration. + items: + description: Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + appliedBy: + description: 'AppliedBy: Object reference to the Kustomization that applied this object' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + complianceState: + description: |- + ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state + on the cluster. + type: string + helmReleaseProperties: + description: 'HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind' + properties: + failureCount: + description: 'FailureCount: Total number of times that the HelmRelease failed to install or upgrade' + type: integer + helmChartRef: + description: 'HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + installFailureCount: + description: 'InstallFailureCount: Number of times that the HelmRelease failed to install' + type: integer + lastRevisionApplied: + description: 'LastRevisionApplied: The revision number of the last released object change' + type: integer + upgradeFailureCount: + description: 'UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade' + type: integer + type: object + kind: + description: 'Kind: Kind of the applied object' + type: string + name: + description: 'Name: Name of the applied object' + type: string + namespace: + description: 'Namespace: Namespace of the applied object' + type: string + statusConditions: + description: 'StatusConditions: List of Kubernetes object status conditions present on the cluster' + items: + description: Status condition of Kubernetes object + properties: + lastTransitionTime: + description: 'LastTransitionTime: Last time this status condition has changed' + type: string + message: + description: 'Message: A more verbose description of the object status condition' + type: string + reason: + description: 'Reason: Reason for the specified status condition type status' + type: string + status: + description: 'Status: Status of the Kubernetes object condition type' + type: string + type: + description: 'Type: Object status condition type for this object' + type: string + type: object + type: array + type: object + type: array + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.FluxConfiguration + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.FluxConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlob: + description: |- + Storage version of v1api20230501.AzureBlobDefinition + Parameters to reconcile to the AzureBlob source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20230501.ManagedIdentityDefinition + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: |- + Storage version of v1api20230501.ServicePrincipalDefinition + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bucket: + description: |- + Storage version of v1api20230501.BucketDefinition + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + gitRepository: + description: |- + Storage version of v1api20230501.GitRepositoryDefinition + Parameters to reconcile to the GitRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpsCACert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: + type: string + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20230501.RepositoryRefDefinition + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string + type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20230501.KustomizationDefinition + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + path: + type: string + postBuild: + description: |- + Storage version of v1api20230501.PostBuildDefinition + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20230501.SubstituteFromDefinition + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object + namespace: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.FluxConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + reconciliationWaitDuration: + type: string + scope: + type: string + sourceKind: + type: string + suspend: + type: boolean + waitForReconciliation: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230501.FluxConfiguration_STATUS + The Flux Configuration object returned in Get & Put response. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlob: + description: |- + Storage version of v1api20230501.AzureBlobDefinition_STATUS + Parameters to reconcile to the AzureBlob source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20230501.ManagedIdentityDefinition_STATUS + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + servicePrincipal: + description: |- + Storage version of v1api20230501.ServicePrincipalDefinition_STATUS + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + tenantId: + type: string + type: object + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + bucket: + description: |- + Storage version of v1api20230501.BucketDefinition_STATUS + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + complianceState: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + type: object + errorMessage: + type: string + gitRepository: + description: |- + Storage version of v1api20230501.GitRepositoryDefinition_STATUS + Parameters to reconcile to the GitRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpsUser: + type: string + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20230501.RepositoryRefDefinition_STATUS + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string + type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + id: + type: string + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20230501.KustomizationDefinition_STATUS + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + name: + type: string + path: + type: string + postBuild: + description: |- + Storage version of v1api20230501.PostBuildDefinition_STATUS + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20230501.SubstituteFromDefinition_STATUS + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object + name: + type: string + namespace: + type: string + provisioningState: + type: string + reconciliationWaitDuration: + type: string + repositoryPublicKey: + type: string + scope: + type: string + sourceKind: + type: string + sourceSyncedCommitId: + type: string + sourceUpdatedAt: + type: string + statusUpdatedAt: + type: string + statuses: + items: + description: |- + Storage version of v1api20230501.ObjectStatusDefinition_STATUS + Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedBy: + description: |- + Storage version of v1api20230501.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + complianceState: + type: string + helmReleaseProperties: + description: |- + Storage version of v1api20230501.HelmReleasePropertiesDefinition_STATUS + Properties for HelmRelease objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCount: + type: integer + helmChartRef: + description: |- + Storage version of v1api20230501.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + installFailureCount: + type: integer + lastRevisionApplied: + type: integer + upgradeFailureCount: + type: integer + type: object + kind: + type: string + name: + type: string + namespace: + type: string + statusConditions: + items: + description: |- + Storage version of v1api20230501.ObjectStatusConditionDefinition_STATUS + Status condition of Kubernetes object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + type: object + type: array + suspend: + type: boolean + type: + type: string + waitForReconciliation: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' + properties: + accountKey: + description: 'AccountKey: The account key (shared key) to access the storage account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + sasToken: + description: 'SasToken: The Shared Access token to access the storage container' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: 'ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client Id for authenticating a Service Principal.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant Id for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + accessKey: + description: 'AccessKey: Plaintext access key used to securely access the S3 bucket' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' + type: string + type: object + configurationProtectedSettings: + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' + properties: + httpsCACert: + description: 'HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + provider: + description: 'Provider: Name of the provider used for authentication.' + enum: + - Azure + - Generic + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string + type: object + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' + type: object + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string + ociRepository: + description: 'OciRepository: Parameters to reconcile to the OCIRepository source kind type.' + properties: + insecure: + description: 'Insecure: Specify whether to allow connecting to a non-TLS HTTP container registry.' + type: boolean + layerSelector: + description: 'LayerSelector: The layer to be pulled from the OCI artifact.' + properties: + mediaType: + description: 'MediaType: The first layer matching the specified media type will be used.' + type: string + operation: + description: |- + Operation: The operation to be performed on the selected layer. The default value is 'extract', but it can be set to + 'copy'. + enum: + - copy + - extract + type: string + type: object + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the OCIRepository object.' + properties: + digest: + description: |- + Digest: The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes + precedence over semver. + type: string + semver: + description: 'Semver: The semver range used to match against OCI repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The OCI repository image tag name to pull. This defaults to ''latest''.' + type: string + type: object + serviceAccountName: + description: 'ServiceAccountName: The service account name to authenticate with the OCI repository.' + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster OCI repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster OCI repository source with the remote.' + type: integer + tlsConfig: + description: 'TlsConfig: Parameters to authenticate using TLS config for OCI repository.' + properties: + caCertificate: + description: 'CaCertificate: Base64-encoded CA certificate used to verify the server.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a client with the OCI repository.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKey: + description: 'PrivateKey: Base64-encoded private key used to authenticate a client with the OCI repository.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + url: + description: 'Url: The URL to sync for the flux configuration OCI repository.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + useWorkloadIdentity: + description: 'UseWorkloadIdentity: Specifies whether to use Workload Identity to authenticate with the OCI repository.' + type: boolean + verify: + description: 'Verify: Verification of the authenticity of an OCI Artifact.' + properties: + matchOidcIdentity: + description: 'MatchOidcIdentity: Array defining the criteria for matching the identity while verifying an OCI artifact.' + items: + description: MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + issuer: + description: 'Issuer: The regex pattern to match against to verify the OIDC issuer.' + type: string + subject: + description: 'Subject: The regex pattern to match against to verify the identity subject.' + type: string + type: object + type: array + provider: + description: 'Provider: Verification provider name.' + type: string + verificationConfig: + additionalProperties: + type: string + description: 'VerificationConfig: An object containing trusted public keys of trusted authors.' + type: object + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' + enum: + - cluster + - namespace + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + enum: + - AzureBlob + - Bucket + - GitRepository + - OCIRepository + type: string + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean + required: + - owner + type: object + status: + description: The Flux Configuration object returned in Get & Put response. + properties: + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' + properties: + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' + type: string + type: object + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' + type: string + type: object + complianceState: + description: |- + ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the + managed objects. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + type: object + errorMessage: + description: 'ErrorMessage: Error message returned to the user in the case of provisioning failure.' + type: string + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' + properties: + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + provider: + description: 'Provider: Name of the provider used for authentication.' + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + name: + description: 'Name: Name of the Kustomization, matching the key in the Kustomizations object map.' + type: string + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' + type: object + name: + description: 'Name: The name of the resource' + type: string + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string + ociRepository: + description: 'OciRepository: Parameters to reconcile to the OCIRepository source kind type.' + properties: + insecure: + description: 'Insecure: Specify whether to allow connecting to a non-TLS HTTP container registry.' + type: boolean + layerSelector: + description: 'LayerSelector: The layer to be pulled from the OCI artifact.' + properties: + mediaType: + description: 'MediaType: The first layer matching the specified media type will be used.' + type: string + operation: + description: |- + Operation: The operation to be performed on the selected layer. The default value is 'extract', but it can be set to + 'copy'. + type: string + type: object + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the OCIRepository object.' + properties: + digest: + description: |- + Digest: The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes + precedence over semver. + type: string + semver: + description: 'Semver: The semver range used to match against OCI repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The OCI repository image tag name to pull. This defaults to ''latest''.' + type: string + type: object + serviceAccountName: + description: 'ServiceAccountName: The service account name to authenticate with the OCI repository.' + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster OCI repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster OCI repository source with the remote.' + type: integer + tlsConfig: + description: 'TlsConfig: Parameters to authenticate using TLS config for OCI repository.' + type: object + url: + description: 'Url: The URL to sync for the flux configuration OCI repository.' + type: string + useWorkloadIdentity: + description: 'UseWorkloadIdentity: Specifies whether to use Workload Identity to authenticate with the OCI repository.' + type: boolean + verify: + description: 'Verify: Verification of the authenticity of an OCI Artifact.' + properties: + matchOidcIdentity: + description: 'MatchOidcIdentity: Array defining the criteria for matching the identity while verifying an OCI artifact.' + items: + description: MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + issuer: + description: 'Issuer: The regex pattern to match against to verify the OIDC issuer.' + type: string + subject: + description: 'Subject: The regex pattern to match against to verify the identity subject.' + type: string + type: object + type: array + provider: + description: 'Provider: Verification provider name.' + type: string + verificationConfig: + additionalProperties: + type: string + description: 'VerificationConfig: An object containing trusted public keys of trusted authors.' + type: object + type: object + type: object + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + repositoryPublicKey: + description: |- + RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided + by the user). + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + type: string + sourceSyncedCommitId: + description: 'SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.' + type: string + sourceUpdatedAt: + description: 'SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.' + type: string + statusUpdatedAt: + description: 'StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.' + type: string + statuses: + description: |- + Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects + provisioned by the fluxConfiguration. + items: + description: Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + appliedBy: + description: 'AppliedBy: Object reference to the Kustomization that applied this object' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + complianceState: + description: |- + ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state + on the cluster. + type: string + helmReleaseProperties: + description: 'HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind' + properties: + failureCount: + description: 'FailureCount: Total number of times that the HelmRelease failed to install or upgrade' + type: integer + helmChartRef: + description: 'HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + installFailureCount: + description: 'InstallFailureCount: Number of times that the HelmRelease failed to install' + type: integer + lastRevisionApplied: + description: 'LastRevisionApplied: The revision number of the last released object change' + type: integer + upgradeFailureCount: + description: 'UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade' + type: integer + type: object + kind: + description: 'Kind: Kind of the applied object' + type: string + name: + description: 'Name: Name of the applied object' + type: string + namespace: + description: 'Namespace: Namespace of the applied object' + type: string + statusConditions: + description: 'StatusConditions: List of Kubernetes object status conditions present on the cluster' + items: + description: Status condition of Kubernetes object + properties: + lastTransitionTime: + description: 'LastTransitionTime: Last time this status condition has changed' + type: string + message: + description: 'Message: A more verbose description of the object status condition' + type: string + reason: + description: 'Reason: Reason for the specified status condition type status' + type: string + status: + description: 'Status: Status of the Kubernetes object condition type' + type: string + type: + description: 'Type: Object status condition type for this object' + type: string + type: object + type: array + type: object + type: array + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.FluxConfiguration + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.FluxConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlob: + description: |- + Storage version of v1api20241101.AzureBlobDefinition + Parameters to reconcile to the AzureBlob source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20241101.ManagedIdentityDefinition + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: |- + Storage version of v1api20241101.ServicePrincipalDefinition + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bucket: + description: |- + Storage version of v1api20241101.BucketDefinition + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + gitRepository: + description: |- + Storage version of v1api20241101.GitRepositoryDefinition + Parameters to reconcile to the GitRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpsCACert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: + type: string + localAuthRef: + type: string + provider: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.RepositoryRefDefinition + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string + type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20241101.KustomizationDefinition + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + path: + type: string + postBuild: + description: |- + Storage version of v1api20241101.PostBuildDefinition + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20241101.SubstituteFromDefinition + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object + namespace: + type: string + ociRepository: + description: |- + Storage version of v1api20241101.OCIRepositoryDefinition + Parameters to reconcile to the OCIRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + insecure: + type: boolean + layerSelector: + description: |- + Storage version of v1api20241101.LayerSelectorDefinition + Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mediaType: + type: string + operation: + type: string + type: object + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.OCIRepositoryRefDefinition + The source reference for the OCIRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + digest: + type: string + semver: + type: string + tag: + type: string + type: object + serviceAccountName: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + tlsConfig: + description: |- + Storage version of v1api20241101.TlsConfigDefinition + Parameters to authenticate using TLS config for OCI repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + url: + type: string + useWorkloadIdentity: + type: boolean + verify: + description: |- + Storage version of v1api20241101.VerifyDefinition + Parameters to verify the authenticity of an OCI Artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchOidcIdentity: + items: + description: |- + Storage version of v1api20241101.MatchOidcIdentityDefinition + MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuer: + type: string + subject: + type: string + type: object + type: array + provider: + type: string + verificationConfig: + additionalProperties: + type: string + type: object + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20241101.FluxConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + reconciliationWaitDuration: + type: string + scope: + type: string + sourceKind: + type: string + suspend: + type: boolean + waitForReconciliation: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20241101.FluxConfiguration_STATUS + The Flux Configuration object returned in Get & Put response. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlob: + description: |- + Storage version of v1api20241101.AzureBlobDefinition_STATUS + Parameters to reconcile to the AzureBlob source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20241101.ManagedIdentityDefinition_STATUS + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + servicePrincipal: + description: |- + Storage version of v1api20241101.ServicePrincipalDefinition_STATUS + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + tenantId: + type: string + type: object + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + bucket: + description: |- + Storage version of v1api20241101.BucketDefinition_STATUS + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + complianceState: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationProtectedSettings: + additionalProperties: + type: string + type: object + errorMessage: + type: string + gitRepository: + description: |- + Storage version of v1api20241101.GitRepositoryDefinition_STATUS + Parameters to reconcile to the GitRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpsUser: + type: string + localAuthRef: + type: string + provider: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.RepositoryRefDefinition_STATUS + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string + type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + id: + type: string + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20241101.KustomizationDefinition_STATUS + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + name: + type: string + path: + type: string + postBuild: + description: |- + Storage version of v1api20241101.PostBuildDefinition_STATUS + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20241101.SubstituteFromDefinition_STATUS + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object + name: + type: string + namespace: + type: string + ociRepository: + description: |- + Storage version of v1api20241101.OCIRepositoryDefinition_STATUS + Parameters to reconcile to the OCIRepository source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + insecure: + type: boolean + layerSelector: + description: |- + Storage version of v1api20241101.LayerSelectorDefinition_STATUS + Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mediaType: + type: string + operation: + type: string + type: object + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.OCIRepositoryRefDefinition_STATUS + The source reference for the OCIRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + digest: + type: string + semver: + type: string + tag: + type: string + type: object + serviceAccountName: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + tlsConfig: + description: |- + Storage version of v1api20241101.TlsConfigDefinition_STATUS + Parameters to authenticate using TLS config for OCI repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + url: + type: string + useWorkloadIdentity: + type: boolean + verify: + description: |- + Storage version of v1api20241101.VerifyDefinition_STATUS + Parameters to verify the authenticity of an OCI Artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchOidcIdentity: + items: + description: |- + Storage version of v1api20241101.MatchOidcIdentityDefinition_STATUS + MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuer: + type: string + subject: + type: string + type: object + type: array + provider: + type: string + verificationConfig: + additionalProperties: + type: string + type: object + type: object + type: object + reconciliationWaitDuration: + type: string + repositoryPublicKey: + type: string + scope: + type: string + sourceKind: + type: string + sourceSyncedCommitId: + type: string + sourceUpdatedAt: + type: string + statusUpdatedAt: + type: string + statuses: + items: + description: |- + Storage version of v1api20241101.ObjectStatusDefinition_STATUS + Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedBy: + description: |- + Storage version of v1api20241101.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + complianceState: + type: string + helmReleaseProperties: + description: |- + Storage version of v1api20241101.HelmReleasePropertiesDefinition_STATUS + Properties for HelmRelease objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCount: + type: integer + helmChartRef: + description: |- + Storage version of v1api20241101.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + installFailureCount: + type: integer + lastRevisionApplied: + type: integer + upgradeFailureCount: + type: integer + type: object + kind: + type: string + name: + type: string + namespace: + type: string + statusConditions: + items: + description: |- + Storage version of v1api20241101.ObjectStatusConditionDefinition_STATUS + Status condition of Kubernetes object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + type: object + type: array + suspend: + type: boolean + type: + type: string + waitForReconciliation: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: hcpopenshiftclusters.redhatopenshift.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: redhatopenshift.azure.com + names: + categories: + - azure + - redhatopenshift + kind: HcpOpenShiftCluster + listKind: HcpOpenShiftClusterList + plural: hcpopenshiftclusters + singular: hcpopenshiftcluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z][-a-zA-Z0-9]{1,52}[a-zA-Z0-9]$ + type: string + identity: + description: 'Identity: The managed service identities assigned to this resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + The dictionary values can be empty objects ({}) in requests. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + api: + description: 'Api: Shows the cluster API server profile' + properties: + authorizedCidrs: + description: 'AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries.' + items: + type: string + maxItems: 500 + type: array + visibility: + description: 'Visibility: The internet visibility of the OpenShift API server' + enum: + - Private + - Public + type: string + type: object + autoscaling: + description: 'Autoscaling: Configure ClusterAutoscaling .' + properties: + maxNodeProvisionTimeSeconds: + description: |- + MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + considering the + provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + minimum: 0 + type: integer + maxNodesTotal: + description: |- + MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + minimum: 0 + type: integer + maxPodGracePeriodSeconds: + description: |- + MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + down a NodePool. + The default is 600 seconds. + minimum: 0 + type: integer + podPriorityThreshold: + description: |- + PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + autoscaler actions, + but only run when there are spare resources available. The default is -10. + See the following for more details: + https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + type: integer + type: object + clusterImageRegistry: + description: 'ClusterImageRegistry: OpenShift internal image registry' + properties: + state: + description: |- + State: state indicates the desired ImageStream-backed cluster image registry installation mode. + This can only be set during cluster creation and cannot be changed after cluster creation. + Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + the cluster. Disabled means the ImageStream-backed image registry will not be present in + the cluster. The default is Enabled. + enum: + - Disabled + - Enabled + type: string + type: object + dns: + description: 'Dns: Cluster DNS configuration' + properties: + baseDomainPrefix: + description: |- + BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + maxLength: 15 + pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$ + type: string + type: object + etcd: + description: 'Etcd: Configure ETCD.' + properties: + dataEncryption: + description: |- + DataEncryption: ETCD Data Encryption settings. + If not specified platform managed keys are used. + properties: + customerManaged: + description: |- + CustomerManaged: Specify customer managed encryption key details. + Required when keyManagementMode is "CustomerManaged". + properties: + encryptionType: + description: |- + EncryptionType: The encryption type used. + By default, "KMS" is used. + enum: + - KMS + type: string + kms: + description: |- + Kms: The Key Management Service (KMS) encryption key details. + Required when encryptionType is "KMS". + properties: + activeKey: + description: 'ActiveKey: The details of the active key.' + properties: + name: + description: 'Name: name is the name of the keyvault key used for encryption/decryption.' + maxLength: 255 + minLength: 1 + type: string + vaultName: + description: 'VaultName: vaultName is the name of the keyvault that contains the secret.' + maxLength: 255 + minLength: 1 + type: string + version: + description: 'Version: version contains the version of the key to use.' + maxLength: 255 + minLength: 1 + type: string + required: + - name + - vaultName + - version + type: object + required: + - activeKey + type: object + type: object + keyManagementMode: + description: |- + KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + By default, "PlatformManaged" is used. + enum: + - CustomerManaged + - PlatformManaged + type: string + type: object + type: object + network: + description: 'Network: Cluster network configuration' + properties: + hostPrefix: + description: 'HostPrefix: Network host prefix' + type: integer + machineCidr: + description: 'MachineCidr: The CIDR block from which to assign machine IP addresses' + type: string + networkType: + description: 'NetworkType: The main controller responsible for rendering the core networking components' + enum: + - OVNKubernetes + - Other + type: string + podCidr: + description: 'PodCidr: The CIDR of the pod IP addresses' + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR block for assigned service IPs' + type: string + type: object + nodeDrainTimeoutMinutes: + description: |- + NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + workloads will be + respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + Budgets that have not been successfully drained from a node will be forcibly evicted. This is + especially relevant to cluster upgrades. + Valid values are in minutes and from 0 to 10080 minutes (1 week). + 0 means that the MachinePool can be drained without any time limitation. + This is the value is used a default for all NodePools. It can be overridden + by specifying nodeDrainTimeoutMinutes for a given NodePool + maximum: 10080 + minimum: 0 + type: integer + platform: + description: 'Platform: Azure platform configuration' + properties: + managedResourceGroup: + description: 'ManagedResourceGroup: Resource group to put cluster resources' + type: string + networkSecurityGroupReference: + description: |- + NetworkSecurityGroupReference: ResourceId for the NSG (network security group) attached to the cluster subnet + Note that NSGs cannot be reused for other ARO-HCP clusters. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorsAuthentication: + description: 'OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure' + properties: + userAssignedIdentities: + description: |- + UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + to perform Operators authentication based on Azure User-Assigned Managed Identities + properties: + controlPlaneOperatorsReferences: + additionalProperties: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: |- + ControlPlaneOperatorsReferences: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + operators of the cluster. The set of required managed identities is dependent on the + Cluster's OpenShift version. + type: object + dataPlaneOperatorsReferences: + additionalProperties: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: |- + DataPlaneOperatorsReferences: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + operators of the cluster. The set of required managed identities is dependent on the + Cluster's OpenShift version. + type: object + serviceManagedIdentityReference: + description: |- + ServiceManagedIdentityReference: Represents the information associated to an Azure User-Assigned Managed Identity whose + purpose is to perform service level actions. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - controlPlaneOperatorsReferences + - dataPlaneOperatorsReferences + - serviceManagedIdentityReference + type: object + required: + - userAssignedIdentities + type: object + outboundType: + description: 'OutboundType: The core outgoing configuration' + enum: + - LoadBalancer + type: string + subnetReference: + description: |- + SubnetReference: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - networkSecurityGroupReference + - operatorsAuthentication + - subnetReference + type: object + version: + description: 'Version: Version of the control plane components' + properties: + channelGroup: + description: |- + ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + set. + type: string + id: + description: 'Id: ID is the unique identifier of the version.' + type: string + type: object + required: + - platform + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: HCP cluster resource + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The managed service identities assigned to this resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + The dictionary values can be empty objects ({}) in requests. + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + api: + description: 'Api: Shows the cluster API server profile' + properties: + authorizedCidrs: + description: 'AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries.' + items: + type: string + type: array + url: + description: 'Url: URL endpoint for the API server' + type: string + visibility: + description: 'Visibility: The internet visibility of the OpenShift API server' + type: string + type: object + autoscaling: + description: 'Autoscaling: Configure ClusterAutoscaling .' + properties: + maxNodeProvisionTimeSeconds: + description: |- + MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + considering the + provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + type: integer + maxNodesTotal: + description: |- + MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + type: integer + maxPodGracePeriodSeconds: + description: |- + MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + down a NodePool. + The default is 600 seconds. + type: integer + podPriorityThreshold: + description: |- + PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + autoscaler actions, + but only run when there are spare resources available. The default is -10. + See the following for more details: + https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + type: integer + type: object + clusterImageRegistry: + description: 'ClusterImageRegistry: OpenShift internal image registry' + properties: + state: + description: |- + State: state indicates the desired ImageStream-backed cluster image registry installation mode. + This can only be set during cluster creation and cannot be changed after cluster creation. + Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + the cluster. Disabled means the ImageStream-backed image registry will not be present in + the cluster. The default is Enabled. + type: string + type: object + console: + description: 'Console: Shows the cluster web console information' + properties: + url: + description: 'Url: The cluster web console URL endpoint' + type: string + type: object + dns: + description: 'Dns: Cluster DNS configuration' + properties: + baseDomain: + description: 'BaseDomain: BaseDomain is the base DNS domain of the cluster.' + type: string + baseDomainPrefix: + description: |- + BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + type: string + type: object + etcd: + description: 'Etcd: Configure ETCD.' + properties: + dataEncryption: + description: |- + DataEncryption: ETCD Data Encryption settings. + If not specified platform managed keys are used. + properties: + customerManaged: + description: |- + CustomerManaged: Specify customer managed encryption key details. + Required when keyManagementMode is "CustomerManaged". + properties: + encryptionType: + description: |- + EncryptionType: The encryption type used. + By default, "KMS" is used. + type: string + kms: + description: |- + Kms: The Key Management Service (KMS) encryption key details. + Required when encryptionType is "KMS". + properties: + activeKey: + description: 'ActiveKey: The details of the active key.' + properties: + name: + description: 'Name: name is the name of the keyvault key used for encryption/decryption.' + type: string + vaultName: + description: 'VaultName: vaultName is the name of the keyvault that contains the secret.' + type: string + version: + description: 'Version: version contains the version of the key to use.' + type: string + type: object + type: object + type: object + keyManagementMode: + description: |- + KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + By default, "PlatformManaged" is used. + type: string + type: object + type: object + network: + description: 'Network: Cluster network configuration' + properties: + hostPrefix: + description: 'HostPrefix: Network host prefix' + type: integer + machineCidr: + description: 'MachineCidr: The CIDR block from which to assign machine IP addresses' + type: string + networkType: + description: 'NetworkType: The main controller responsible for rendering the core networking components' + type: string + podCidr: + description: 'PodCidr: The CIDR of the pod IP addresses' + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR block for assigned service IPs' + type: string + type: object + nodeDrainTimeoutMinutes: + description: |- + NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + workloads will be + respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + Budgets that have not been successfully drained from a node will be forcibly evicted. This is + especially relevant to cluster upgrades. + Valid values are in minutes and from 0 to 10080 minutes (1 week). + 0 means that the MachinePool can be drained without any time limitation. + This is the value is used a default for all NodePools. It can be overridden + by specifying nodeDrainTimeoutMinutes for a given NodePool + type: integer + platform: + description: 'Platform: Azure platform configuration' + properties: + issuerUrl: + description: |- + IssuerUrl: URL for the OIDC provider to be used for authentication + to authenticate against user Azure cloud account + type: string + managedResourceGroup: + description: 'ManagedResourceGroup: Resource group to put cluster resources' + type: string + networkSecurityGroupId: + description: |- + NetworkSecurityGroupId: ResourceId for the NSG (network security group) attached to the cluster subnet + Note that NSGs cannot be reused for other ARO-HCP clusters. + type: string + operatorsAuthentication: + description: 'OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure' + properties: + userAssignedIdentities: + description: |- + UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + to perform Operators authentication based on Azure User-Assigned Managed Identities + properties: + controlPlaneOperators: + additionalProperties: + type: string + description: |- + ControlPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + operators of the cluster. The set of required managed identities is dependent on the + Cluster's OpenShift version. + type: object + dataPlaneOperators: + additionalProperties: + type: string + description: |- + DataPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + operators of the cluster. The set of required managed identities is dependent on the + Cluster's OpenShift version. + type: object + serviceManagedIdentity: + description: |- + ServiceManagedIdentity: Represents the information associated to an Azure User-Assigned Managed Identity whose + purpose is to perform service level actions. + type: string + type: object + type: object + outboundType: + description: 'OutboundType: The core outgoing configuration' + type: string + subnetId: + description: |- + SubnetId: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters. + type: string + type: object + provisioningState: + description: 'ProvisioningState: The status of the last operation.' + type: string + version: + description: 'Version: Version of the control plane components' + properties: + channelGroup: + description: |- + ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + set. + type: string + id: + description: 'Id: ID is the unique identifier of the version.' + type: string + type: object + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftCluster + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240610preview.HcpOpenShiftCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20240610preview.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240610preview.HcpOpenShiftClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClusterProperties + HCP cluster properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + api: + description: |- + Storage version of v1api20240610preview.ApiProfile + Information about the API of a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedCidrs: + items: + type: string + type: array + visibility: + type: string + type: object + autoscaling: + description: |- + Storage version of v1api20240610preview.ClusterAutoscalingProfile + ClusterAutoscaling specifies auto-scaling behavior that + applies to all NodePools associated with a control plane. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeProvisionTimeSeconds: + type: integer + maxNodesTotal: + type: integer + maxPodGracePeriodSeconds: + type: integer + podPriorityThreshold: + type: integer + type: object + clusterImageRegistry: + description: |- + Storage version of v1api20240610preview.ClusterImageRegistryProfile + OpenShift cluster image registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + dns: + description: |- + Storage version of v1api20240610preview.DnsProfile + DNS contains the DNS settings of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseDomainPrefix: + type: string + type: object + etcd: + description: |- + Storage version of v1api20240610preview.EtcdProfile + The ETCD settings and configuration options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataEncryption: + description: |- + Storage version of v1api20240610preview.EtcdDataEncryptionProfile + The ETCD data encryption settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManaged: + description: |- + Storage version of v1api20240610preview.CustomerManagedEncryptionProfile + Customer managed encryption key profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionType: + type: string + kms: + description: |- + Storage version of v1api20240610preview.KmsEncryptionProfile + Configure etcd encryption Key Management Service (KMS) key. + Your Microsoft Entra application used to create the cluster + must be authorized to access this keyvault, + e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME + --key-permissions decrypt encrypt --spn ` + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20240610preview.KmsKey + A representation of a KeyVault Secret. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + vaultName: + type: string + version: + type: string + type: object + type: object + type: object + keyManagementMode: + type: string + type: object + type: object + network: + description: |- + Storage version of v1api20240610preview.NetworkProfile + OpenShift networking configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostPrefix: + type: integer + machineCidr: + type: string + networkType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeDrainTimeoutMinutes: + type: integer + platform: + description: |- + Storage version of v1api20240610preview.PlatformProfile + Azure specific configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedResourceGroup: + type: string + networkSecurityGroupReference: + description: |- + NetworkSecurityGroupReference: ResourceId for the NSG (network security group) attached to the cluster subnet + Note that NSGs cannot be reused for other ARO-HCP clusters. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorsAuthentication: + description: |- + Storage version of v1api20240610preview.OperatorsAuthenticationProfile + The configuration that the operators of the cluster have to authenticate to Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentities: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentitiesProfile + Represents the information related to Azure User-Assigned managed identities needed + to perform Operators authentication + based on Azure User-Assigned Managed Identities + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + controlPlaneOperatorsReferences: + additionalProperties: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dataPlaneOperatorsReferences: + additionalProperties: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceManagedIdentityReference: + description: |- + ServiceManagedIdentityReference: Represents the information associated to an Azure User-Assigned Managed Identity whose + purpose is to perform service level actions. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - serviceManagedIdentityReference + type: object + type: object + outboundType: + type: string + subnetReference: + description: |- + SubnetReference: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - networkSecurityGroupReference + - subnetReference + type: object + version: + description: |- + Storage version of v1api20240610preview.VersionProfile + Versions represents an OpenShift version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + channelGroup: + type: string + id: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftCluster_STATUS + HCP cluster resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240610preview.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClusterProperties_STATUS + HCP cluster properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + api: + description: |- + Storage version of v1api20240610preview.ApiProfile_STATUS + Information about the API of a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedCidrs: + items: + type: string + type: array + url: + type: string + visibility: + type: string + type: object + autoscaling: + description: |- + Storage version of v1api20240610preview.ClusterAutoscalingProfile_STATUS + ClusterAutoscaling specifies auto-scaling behavior that + applies to all NodePools associated with a control plane. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeProvisionTimeSeconds: + type: integer + maxNodesTotal: + type: integer + maxPodGracePeriodSeconds: + type: integer + podPriorityThreshold: + type: integer + type: object + clusterImageRegistry: + description: |- + Storage version of v1api20240610preview.ClusterImageRegistryProfile_STATUS + OpenShift cluster image registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + console: + description: |- + Storage version of v1api20240610preview.ConsoleProfile_STATUS + Configuration of the cluster web console + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + type: object + dns: + description: |- + Storage version of v1api20240610preview.DnsProfile_STATUS + DNS contains the DNS settings of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseDomain: + type: string + baseDomainPrefix: + type: string + type: object + etcd: + description: |- + Storage version of v1api20240610preview.EtcdProfile_STATUS + The ETCD settings and configuration options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataEncryption: + description: |- + Storage version of v1api20240610preview.EtcdDataEncryptionProfile_STATUS + The ETCD data encryption settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManaged: + description: |- + Storage version of v1api20240610preview.CustomerManagedEncryptionProfile_STATUS + Customer managed encryption key profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionType: + type: string + kms: + description: |- + Storage version of v1api20240610preview.KmsEncryptionProfile_STATUS + Configure etcd encryption Key Management Service (KMS) key. + Your Microsoft Entra application used to create the cluster + must be authorized to access this keyvault, + e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME + --key-permissions decrypt encrypt --spn ` + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20240610preview.KmsKey_STATUS + A representation of a KeyVault Secret. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + vaultName: + type: string + version: + type: string + type: object + type: object + type: object + keyManagementMode: + type: string + type: object + type: object + network: + description: |- + Storage version of v1api20240610preview.NetworkProfile_STATUS + OpenShift networking configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostPrefix: + type: integer + machineCidr: + type: string + networkType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeDrainTimeoutMinutes: + type: integer + platform: + description: |- + Storage version of v1api20240610preview.PlatformProfile_STATUS + Azure specific configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerUrl: + type: string + managedResourceGroup: + type: string + networkSecurityGroupId: + type: string + operatorsAuthentication: + description: |- + Storage version of v1api20240610preview.OperatorsAuthenticationProfile_STATUS + The configuration that the operators of the cluster have to authenticate to Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentities: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentitiesProfile_STATUS + Represents the information related to Azure User-Assigned managed identities needed + to perform Operators authentication + based on Azure User-Assigned Managed Identities + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + controlPlaneOperators: + additionalProperties: + type: string + type: object + dataPlaneOperators: + additionalProperties: + type: string + type: object + serviceManagedIdentity: + type: string + type: object + type: object + outboundType: + type: string + subnetId: + type: string + type: object + provisioningState: + type: string + version: + description: |- + Storage version of v1api20240610preview.VersionProfile_STATUS + Versions represents an OpenShift version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + channelGroup: + type: string + id: + type: string + type: object + type: object + systemData: + description: |- + Storage version of v1api20240610preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: hcpopenshiftclustersexternalauths.redhatopenshift.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: redhatopenshift.azure.com + names: + categories: + - azure + - redhatopenshift + kind: HcpOpenShiftClustersExternalAuth + listKind: HcpOpenShiftClustersExternalAuthList + plural: hcpopenshiftclustersexternalauths + singular: hcpopenshiftclustersexternalauth + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z][-a-zA-Z0-9]{1,15}$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + claim: + description: |- + Claim: External Auth claim + This configures how claims are validated and applied. + properties: + mappings: + description: 'Mappings: The claim mappings' + properties: + groups: + description: 'Groups: The claim mappings groups.' + properties: + claim: + description: 'Claim: Claim name of the external profile' + maxLength: 256 + minLength: 1 + type: string + prefix: + description: |- + Prefix: Prefix for the claim external profile + If this is specified prefixPolicy will be set to "Prefix" by default + type: string + required: + - claim + type: object + username: + description: 'Username: The claim mappings username.' + properties: + claim: + description: 'Claim: Claim name of the external profile' + maxLength: 256 + minLength: 1 + type: string + prefix: + description: |- + Prefix: Prefix for the claim external profile + Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + otherwise. + type: string + prefixPolicy: + description: |- + PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + applied to the value of the JWT claim specified in the 'claim' field. + Allowed values are 'Prefix', 'NoPrefix', and 'None'. + When set to 'Prefix', the value specified in the prefix field will be + prepended to the value of the JWT claim. + The prefix field must be set when prefixPolicy is 'Prefix'. + When set to 'NoPrefix', no prefix will be prepended to the value + of the JWT claim. + When set to 'None', this means no opinion and the platform is left to choose + any prefixes that are applied which is subject to change over time. + Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + when the claim is not 'email'. + As an example, consider the following scenario: + `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + the JWT claims include "username":"userA" and "email":"userA + enum: + - NoPrefix + - None + - Prefix + type: string + required: + - claim + type: object + required: + - username + type: object + validationRules: + description: 'ValidationRules: The claim validation rules' + items: + description: External Auth claim validation rule + properties: + requiredClaim: + description: 'RequiredClaim: The required claim rule to be applied.' + properties: + claim: + description: |- + Claim: Claim name for the validation profile + claim is a required field that configures the name of the required claim. + minLength: 1 + type: string + requiredValue: + description: |- + RequiredValue: Required value + requiredValue is a required field that configures the value that 'claim' must + have when taken from the incoming JWT claims. + If the value in the JWT claims does not match, the token + will be rejected for authentication. + minLength: 1 + type: string + required: + - claim + - requiredValue + type: object + type: + description: |- + Type: This configures the type of the validation rule. + It defaults to "RequiredClaim" + enum: + - RequiredClaim + type: string + type: object + type: array + required: + - mappings + type: object + clients: + description: |- + Clients: External Auth OIDC clients + There must not be more than 20 entries and entries must have unique namespace/name pairs. + items: + description: |- + External Auth client profile + This configures how on-cluster, platform clients should request tokens from the identity + provider. + properties: + clientId: + description: |- + ClientId: External Auth client id + The clientId must appear in the audience field of the TokenIssuerProfile. + minLength: 1 + type: string + component: + description: 'Component: External Auth client component' + properties: + authClientNamespace: + description: |- + AuthClientNamespace: The namespace of the external Auth client + This specifies the namespace in which the platform component being configured + to use the identity provider as an authentication mode is running. + It is used in combination with name as a unique identifier. + maxLength: 63 + minLength: 1 + type: string + name: + description: |- + Name: The name of the external auth client + This specifies the name of the platform component being configured to use + the identity provider as an authentication mode. + It is used in combination with namespace as a unique identifier. + maxLength: 256 + minLength: 1 + type: string + required: + - authClientNamespace + - name + type: object + extraScopes: + description: |- + ExtraScopes: external auth client scopes + This is useful if you have configured claim mappings that requires specific + scopes to be requested beyond the standard OIDC scopes. + When omitted, no additional scopes are requested. + items: + type: string + type: array + type: + description: 'Type: Determines the OIDC provider client type.' + enum: + - Confidential + - Public + type: string + required: + - clientId + - component + - type + type: object + maxItems: 20 + type: array + issuer: + description: 'Issuer: Token Issuer profile' + properties: + audiences: + description: |- + Audiences: This configures the acceptable audiences the JWT token, issued by the identity + provider, must be issued to. At least one of the entries must match the + 'aud' claim in the JWT token. + audiences must contain at least one entry and must not exceed ten entries. + items: + type: string + maxItems: 10 + minItems: 1 + type: array + ca: + description: |- + Ca: The issuer of the token + Certificate bundle to use to validate server certificates for the configured URL. + It must be PEM encoded and when not specified, the system trust is used. + type: string + url: + description: |- + Url: This configures the URL used to issue tokens by the identity provider. + The Kubernetes API server determines how authentication tokens should be handled + by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + issuerURL must use the 'https' scheme. + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + required: + - audiences + - url + type: object + required: + - claim + - issuer + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + claim: + description: |- + Claim: External Auth claim + This configures how claims are validated and applied. + properties: + mappings: + description: 'Mappings: The claim mappings' + properties: + groups: + description: 'Groups: The claim mappings groups.' + properties: + claim: + description: 'Claim: Claim name of the external profile' + type: string + prefix: + description: |- + Prefix: Prefix for the claim external profile + If this is specified prefixPolicy will be set to "Prefix" by default + type: string + type: object + username: + description: 'Username: The claim mappings username.' + properties: + claim: + description: 'Claim: Claim name of the external profile' + type: string + prefix: + description: |- + Prefix: Prefix for the claim external profile + Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + otherwise. + type: string + prefixPolicy: + description: |- + PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + applied to the value of the JWT claim specified in the 'claim' field. + Allowed values are 'Prefix', 'NoPrefix', and 'None'. + When set to 'Prefix', the value specified in the prefix field will be + prepended to the value of the JWT claim. + The prefix field must be set when prefixPolicy is 'Prefix'. + When set to 'NoPrefix', no prefix will be prepended to the value + of the JWT claim. + When set to 'None', this means no opinion and the platform is left to choose + any prefixes that are applied which is subject to change over time. + Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + when the claim is not 'email'. + As an example, consider the following scenario: + `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + the JWT claims include "username":"userA" and "email":"userA + type: string + type: object + type: object + validationRules: + description: 'ValidationRules: The claim validation rules' + items: + description: External Auth claim validation rule + properties: + requiredClaim: + description: 'RequiredClaim: The required claim rule to be applied.' + properties: + claim: + description: |- + Claim: Claim name for the validation profile + claim is a required field that configures the name of the required claim. + type: string + requiredValue: + description: |- + RequiredValue: Required value + requiredValue is a required field that configures the value that 'claim' must + have when taken from the incoming JWT claims. + If the value in the JWT claims does not match, the token + will be rejected for authentication. + type: string + type: object + type: + description: |- + Type: This configures the type of the validation rule. + It defaults to "RequiredClaim" + type: string + type: object + type: array + type: object + clients: + description: |- + Clients: External Auth OIDC clients + There must not be more than 20 entries and entries must have unique namespace/name pairs. + items: + description: |- + External Auth client profile + This configures how on-cluster, platform clients should request tokens from the identity + provider. + properties: + clientId: + description: |- + ClientId: External Auth client id + The clientId must appear in the audience field of the TokenIssuerProfile. + minLength: 1 + type: string + component: + description: 'Component: External Auth client component' + properties: + authClientNamespace: + description: |- + AuthClientNamespace: The namespace of the external Auth client + This specifies the namespace in which the platform component being configured + to use the identity provider as an authentication mode is running. + It is used in combination with name as a unique identifier. + maxLength: 63 + minLength: 1 + type: string + name: + description: |- + Name: The name of the external auth client + This specifies the name of the platform component being configured to use + the identity provider as an authentication mode. + It is used in combination with namespace as a unique identifier. + maxLength: 256 + minLength: 1 + type: string + required: + - authClientNamespace + - name + type: object + extraScopes: + description: |- + ExtraScopes: external auth client scopes + This is useful if you have configured claim mappings that requires specific + scopes to be requested beyond the standard OIDC scopes. + When omitted, no additional scopes are requested. + items: + type: string + type: array + type: + description: 'Type: Determines the OIDC provider client type.' + enum: + - Confidential + - Public + type: string + required: + - clientId + - component + - type + type: object + type: array + condition: + description: 'Condition: An observation of the current state with additional information.' + properties: + lastTransitionTime: + description: 'LastTransitionTime: The last time the condition transitioned from one status to another.' + type: string + message: + description: |- + Message: This is a human readable message indicating details about the transition. + This may be an empty string. + type: string + reason: + description: 'Reason: This contains a programmatic identifier indicating the reason for the condition''s last transition.' + type: string + status: + description: 'Status: The status of the condition.' + type: string + type: + description: 'Type: This is a PascalCase (or in foo.example.com/PascalCase) code to represent the type of condition.' + type: string + type: object + issuer: + description: 'Issuer: Token Issuer profile' + properties: + audiences: + description: |- + Audiences: This configures the acceptable audiences the JWT token, issued by the identity + provider, must be issued to. At least one of the entries must match the + 'aud' claim in the JWT token. + audiences must contain at least one entry and must not exceed ten entries. + items: + type: string + type: array + ca: + description: |- + Ca: The issuer of the token + Certificate bundle to use to validate server certificates for the configured URL. + It must be PEM encoded and when not specified, the system trust is used. + type: string + url: + description: |- + Url: This configures the URL used to issue tokens by the identity provider. + The Kubernetes API server determines how authentication tokens should be handled + by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + issuerURL must use the 'https' scheme. + type: string + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuthOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20240610preview.ExternalAuthProperties + External Auth profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + description: |- + Storage version of v1api20240610preview.ExternalAuthClaimProfile + External Auth claim profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mappings: + description: |- + Storage version of v1api20240610preview.TokenClaimMappingsProfile + External Auth claim mappings profile. + At a minimum username or groups must be defined. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + description: |- + Storage version of v1api20240610preview.GroupClaimProfile + External Auth claim profile + This configures how the groups of a cluster identity should be constructed + from the claims + in a JWT token issued by the identity provider. When + referencing a claim, if the claim is present in the JWT token, its + value + must be a list of groups separated by a comma (','). + For example - '"example"' and '"exampleOne", "exampleTwo", + "exampleThree"' are valid claim values. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + prefix: + type: string + type: object + username: + description: |- + Storage version of v1api20240610preview.UsernameClaimProfile + External Auth claim profile + This configures how the username of a cluster identity should be constructed + from the claims + in a JWT token issued by the identity provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + prefix: + type: string + prefixPolicy: + type: string + type: object + type: object + validationRules: + items: + description: |- + Storage version of v1api20240610preview.TokenClaimValidationRule + External Auth claim validation rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + requiredClaim: + description: |- + Storage version of v1api20240610preview.TokenRequiredClaim + Token required claim validation rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + requiredValue: + type: string + type: object + type: + type: string + type: object + type: array + type: object + clients: + items: + description: |- + Storage version of v1api20240610preview.ExternalAuthClientProfile + External Auth client profile + This configures how on-cluster, platform clients should request tokens from the identity + provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + component: + description: |- + Storage version of v1api20240610preview.ExternalAuthClientComponentProfile + External Auth component profile + Must have unique namespace/name pairs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authClientNamespace: + type: string + name: + type: string + type: object + extraScopes: + items: + type: string + type: array + type: + type: string + type: object + type: array + issuer: + description: |- + Storage version of v1api20240610preview.TokenIssuerProfile + Token issuer profile + This configures how the platform interacts with the identity provider and + how tokens issued from + the identity provider are evaluated by the Kubernetes API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + ca: + type: string + url: + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20240610preview.ExternalAuthProperties_STATUS + External Auth profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + description: |- + Storage version of v1api20240610preview.ExternalAuthClaimProfile_STATUS + External Auth claim profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mappings: + description: |- + Storage version of v1api20240610preview.TokenClaimMappingsProfile_STATUS + External Auth claim mappings profile. + At a minimum username or groups must be defined. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + description: |- + Storage version of v1api20240610preview.GroupClaimProfile_STATUS + External Auth claim profile + This configures how the groups of a cluster identity should be constructed + from the claims + in a JWT token issued by the identity provider. When + referencing a claim, if the claim is present in the JWT token, its + value + must be a list of groups separated by a comma (','). + For example - '"example"' and '"exampleOne", "exampleTwo", + "exampleThree"' are valid claim values. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + prefix: + type: string + type: object + username: + description: |- + Storage version of v1api20240610preview.UsernameClaimProfile_STATUS + External Auth claim profile + This configures how the username of a cluster identity should be constructed + from the claims + in a JWT token issued by the identity provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + prefix: + type: string + prefixPolicy: + type: string + type: object + type: object + validationRules: + items: + description: |- + Storage version of v1api20240610preview.TokenClaimValidationRule_STATUS + External Auth claim validation rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + requiredClaim: + description: |- + Storage version of v1api20240610preview.TokenRequiredClaim_STATUS + Token required claim validation rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claim: + type: string + requiredValue: + type: string + type: object + type: + type: string + type: object + type: array + type: object + clients: + items: + description: |- + Storage version of v1api20240610preview.ExternalAuthClientProfile_STATUS + External Auth client profile + This configures how on-cluster, platform clients should request tokens from the identity + provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + component: + description: |- + Storage version of v1api20240610preview.ExternalAuthClientComponentProfile_STATUS + External Auth component profile + Must have unique namespace/name pairs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authClientNamespace: + type: string + name: + type: string + type: object + extraScopes: + items: + type: string + type: array + type: + type: string + type: object + type: array + condition: + description: |- + Storage version of v1api20240610preview.ExternalAuthCondition_STATUS + Condition defines an observation of the external auth state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + issuer: + description: |- + Storage version of v1api20240610preview.TokenIssuerProfile_STATUS + Token issuer profile + This configures how the platform interacts with the identity provider and + how tokens issued from + the identity provider are evaluated by the Kubernetes API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + ca: + type: string + url: + type: string + type: object + provisioningState: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240610preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: hcpopenshiftclustersnodepools.redhatopenshift.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: redhatopenshift.azure.com + names: + categories: + - azure + - redhatopenshift + kind: HcpOpenShiftClustersNodePool + listKind: HcpOpenShiftClustersNodePoolList + plural: hcpopenshiftclustersnodepools + singular: hcpopenshiftclustersnodepool + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z][-a-zA-Z0-9]{1,13}[a-zA-Z0-9]$ + type: string + identity: + description: 'Identity: The managed service identities assigned to this resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + The dictionary values can be empty objects ({}) in requests. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + autoRepair: + description: 'AutoRepair: Auto-repair' + type: boolean + autoScaling: + description: 'AutoScaling: Representation of a autoscaling in a node pool.' + properties: + max: + description: 'Max: The maximum number of nodes in the node pool' + minimum: 0 + type: integer + min: + description: 'Min: The minimum number of nodes in the node pool' + minimum: 0 + type: integer + type: object + labels: + description: |- + Labels: Kubernetes labels to propagate to the NodePool Nodes + Note that when the labels are updated this is only applied to newly + create nodes in the Nodepool, existing node labels remain unchanged. + items: + description: Label represents the Kubernetes label + properties: + key: + description: 'Key: The key of the label' + type: string + value: + description: 'Value: The value of the label' + type: string + required: + - key + type: object + type: array + nodeDrainTimeoutMinutes: + description: |- + NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + workloads will be + respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + Budgets that have not been successfully drained from a node will be forcibly evicted. This is + especially relevant to cluster upgrades. + Valid values are from 0 to 10080 minutes (1 week) . + 0 means that the NodePool can be drained without any time limitation. + If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + type: integer + platform: + description: 'Platform: Azure node pool platform configuration' + properties: + availabilityZone: + description: |- + AvailabilityZone: The availability zone for the node pool. + Please read the documentation to see which regions support availability zones + - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + type: string + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + - + https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + type: boolean + osDisk: + description: 'OsDisk: The settings and configuration options for OSDisk' + properties: + diskStorageAccountType: + description: |- + DiskStorageAccountType: The type of the disk storage account + - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + enum: + - Premium_LRS + - StandardSSD_LRS + - Standard_LRS + type: string + encryptionSetReference: + description: |- + EncryptionSetReference: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + This needs to exist in the same subscription id listed in the Hosted Cluster, + HostedCluster.Spec.Platform.Azure.SubscriptionID. + DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + Details on how to create a Disk Encryption Set can be found here: + https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sizeGiB: + description: 'SizeGiB: The OS disk size in GiB' + type: integer + type: object + subnetReference: + description: |- + SubnetReference: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters, however the + same subnet can be used for NodePools of the same cluster. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + description: |- + VmSize: The VM size according to the documentation: + - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + type: string + required: + - vmSize + type: object + replicas: + description: 'Replicas: The number of worker nodes, it cannot be used together with autoscaling' + type: integer + taints: + description: 'Taints: Taints for the nodes' + items: + description: Taint is controlling the node taint and its effects + properties: + effect: + description: 'Effect: The effect of the taint' + enum: + - NoExecute + - NoSchedule + - PreferNoSchedule + type: string + key: + description: 'Key: The key of the taint' + maxLength: 316 + minLength: 1 + type: string + value: + description: 'Value: The value of the taint' + maxLength: 63 + type: string + required: + - effect + - key + type: object + type: array + version: + description: 'Version: OpenShift version for the nodepool' + properties: + channelGroup: + description: |- + ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + set. + type: string + id: + description: 'Id: ID is the unique identifier of the version.' + type: string + type: object + required: + - platform + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The managed service identities assigned to this resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + The dictionary values can be empty objects ({}) in requests. + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + autoRepair: + description: 'AutoRepair: Auto-repair' + type: boolean + autoScaling: + description: 'AutoScaling: Representation of a autoscaling in a node pool.' + properties: + max: + description: 'Max: The maximum number of nodes in the node pool' + type: integer + min: + description: 'Min: The minimum number of nodes in the node pool' + type: integer + type: object + labels: + description: |- + Labels: Kubernetes labels to propagate to the NodePool Nodes + Note that when the labels are updated this is only applied to newly + create nodes in the Nodepool, existing node labels remain unchanged. + items: + description: Label represents the Kubernetes label + properties: + key: + description: 'Key: The key of the label' + type: string + value: + description: 'Value: The value of the label' + type: string + type: object + type: array + nodeDrainTimeoutMinutes: + description: |- + NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + workloads will be + respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + Budgets that have not been successfully drained from a node will be forcibly evicted. This is + especially relevant to cluster upgrades. + Valid values are from 0 to 10080 minutes (1 week) . + 0 means that the NodePool can be drained without any time limitation. + If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + type: integer + platform: + description: 'Platform: Azure node pool platform configuration' + properties: + availabilityZone: + description: |- + AvailabilityZone: The availability zone for the node pool. + Please read the documentation to see which regions support availability zones + - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + type: string + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + - + https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + type: boolean + osDisk: + description: 'OsDisk: The settings and configuration options for OSDisk' + properties: + diskStorageAccountType: + description: |- + DiskStorageAccountType: The type of the disk storage account + - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + type: string + encryptionSetId: + description: |- + EncryptionSetId: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + This needs to exist in the same subscription id listed in the Hosted Cluster, + HostedCluster.Spec.Platform.Azure.SubscriptionID. + DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + Details on how to create a Disk Encryption Set can be found here: + https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + type: string + sizeGiB: + description: 'SizeGiB: The OS disk size in GiB' + type: integer + type: object + subnetId: + description: |- + SubnetId: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters, however the + same subnet can be used for NodePools of the same cluster. + type: string + vmSize: + description: |- + VmSize: The VM size according to the documentation: + - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + type: string + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state' + type: string + replicas: + description: 'Replicas: The number of worker nodes, it cannot be used together with autoscaling' + type: integer + taints: + description: 'Taints: Taints for the nodes' + items: + description: Taint is controlling the node taint and its effects + properties: + effect: + description: 'Effect: The effect of the taint' + type: string + key: + description: 'Key: The key of the taint' + type: string + value: + description: 'Value: The value of the taint' + type: string + type: object + type: array + version: + description: 'Version: OpenShift version for the nodepool' + properties: + channelGroup: + description: |- + ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + set. + type: string + id: + description: 'Id: ID is the unique identifier of the version.' + type: string + type: object + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240610previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20240610preview.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240610preview.HcpOpenShiftClustersNodePoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20240610preview.NodePoolProperties + Represents the node pool properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoRepair: + type: boolean + autoScaling: + description: |- + Storage version of v1api20240610preview.NodePoolAutoScaling + Node pool autoscaling + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + labels: + items: + description: |- + Storage version of v1api20240610preview.Label + Label represents the Kubernetes label + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + nodeDrainTimeoutMinutes: + type: integer + platform: + description: |- + Storage version of v1api20240610preview.NodePoolPlatformProfile + Azure node pool platform configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZone: + type: string + enableEncryptionAtHost: + type: boolean + osDisk: + description: |- + Storage version of v1api20240610preview.OsDiskProfile + The settings and configuration options for OSDisk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskStorageAccountType: + type: string + encryptionSetReference: + description: |- + EncryptionSetReference: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + This needs to exist in the same subscription id listed in the Hosted Cluster, + HostedCluster.Spec.Platform.Azure.SubscriptionID. + DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + Details on how to create a Disk Encryption Set can be found here: + https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sizeGiB: + type: integer + type: object + subnetReference: + description: |- + SubnetReference: The Azure resource ID of the worker subnet + Note that a subnet cannot be reused between ARO-HCP Clusters, however the + same subnet can be used for NodePools of the same cluster. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + type: string + type: object + replicas: + type: integer + taints: + items: + description: |- + Storage version of v1api20240610preview.Taint + Taint is controlling the node taint and its effects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effect: + type: string + key: + type: string + value: + type: string + type: object + type: array + version: + description: |- + Storage version of v1api20240610preview.NodePoolVersionProfile + Versions represents an OpenShift version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + channelGroup: + type: string + id: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240610preview.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240610preview.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20240610preview.NodePoolProperties_STATUS + Represents the node pool properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoRepair: + type: boolean + autoScaling: + description: |- + Storage version of v1api20240610preview.NodePoolAutoScaling_STATUS + Node pool autoscaling + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + labels: + items: + description: |- + Storage version of v1api20240610preview.Label_STATUS + Label represents the Kubernetes label + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + nodeDrainTimeoutMinutes: + type: integer + platform: + description: |- + Storage version of v1api20240610preview.NodePoolPlatformProfile_STATUS + Azure node pool platform configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZone: + type: string + enableEncryptionAtHost: + type: boolean + osDisk: + description: |- + Storage version of v1api20240610preview.OsDiskProfile_STATUS + The settings and configuration options for OSDisk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskStorageAccountType: + type: string + encryptionSetId: + type: string + sizeGiB: + type: integer + type: object + subnetId: + type: string + vmSize: + type: string + type: object + provisioningState: + type: string + replicas: + type: integer + taints: + items: + description: |- + Storage version of v1api20240610preview.Taint_STATUS + Taint is controlling the node taint and its effects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effect: + type: string + key: + type: string + value: + type: string + type: object + type: array + version: + description: |- + Storage version of v1api20240610preview.NodePoolVersionProfile_STATUS + Versions represents an OpenShift version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + channelGroup: + type: string + id: + type: string + type: object + type: object + systemData: + description: |- + Storage version of v1api20240610preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: images.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: Image + listKind: ImageList + plural: images + singular: image + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + enum: + - V1 + - V2 + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - lun + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + description: 'OsState: The OS State.' + enum: + - Generalized + - Specialized + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - osState + - osType + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: |- + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + type: string + id: + description: 'Id: Resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + osState: + description: 'OsState: The OS State.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210701.Image + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210701.Image_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: |- + Storage version of v1api20210701.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210701.ImageOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sourceVirtualMachine: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20210701.ImageStorageProfile + Describes a storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20210701.ImageDataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20210701.ImageOSDisk + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210701.Image_STATUS + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20210701.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + sourceVirtualMachine: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20210701.ImageStorageProfile_STATUS + Describes a storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20210701.ImageDataDisk_STATUS + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + snapshot: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20210701.ImageOSDisk_STATUS + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + enum: + - V1 + - V2 + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - lun + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + description: 'OsState: The OS State. For managed images, use Generalized.' + enum: + - Generalized + - Specialized + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - osState + - osType + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: |- + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + type: string + id: + description: 'Id: Resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + osState: + description: 'OsState: The OS State. For managed images, use Generalized.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.Image + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.Image_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.ImageOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sourceVirtualMachine: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20220301.ImageStorageProfile + Describes a storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.ImageDataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20220301.ImageOSDisk + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.Image_STATUS + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + sourceVirtualMachine: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20220301.ImageStorageProfile_STATUS + Describes a storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.ImageDataDisk_STATUS + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + snapshot: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20220301.ImageOSDisk_STATUS + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: iothubs.devices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: devices.azure.com + names: + categories: + - azure + - devices + kind: IotHub + listKind: IotHubList + plural: iothubs + singular: iothub + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210702 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /iothub/resource-manager/Microsoft.Devices/IoTHub/stable/2021-07-02/iothub.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: The managed identities for the IotHub.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + devicePrimaryKey: + description: |- + DevicePrimaryKey: indicates where the DevicePrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + deviceSecondaryKey: + description: |- + DeviceSecondaryKey: indicates where the DeviceSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerPrimaryKey: + description: |- + IotHubOwnerPrimaryKey: indicates where the IotHubOwnerPrimaryKey secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerSecondaryKey: + description: |- + IotHubOwnerSecondaryKey: indicates where the IotHubOwnerSecondaryKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadPrimaryKey: + description: |- + RegistryReadPrimaryKey: indicates where the RegistryReadPrimaryKey secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadSecondaryKey: + description: |- + RegistryReadSecondaryKey: indicates where the RegistryReadSecondaryKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWritePrimaryKey: + description: |- + RegistryReadWritePrimaryKey: indicates where the RegistryReadWritePrimaryKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWriteSecondaryKey: + description: |- + RegistryReadWriteSecondaryKey: indicates where the RegistryReadWriteSecondaryKey secret should be placed. If omitted, + the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + servicePrimaryKey: + description: |- + ServicePrimaryKey: indicates where the ServicePrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + serviceSecondaryKey: + description: |- + ServiceSecondaryKey: indicates where the ServiceSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: IotHub properties' + properties: + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' + items: + type: string + type: array + authorizationPolicies: + description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + items: + description: The properties of an IoT hub shared access policy. + properties: + keyName: + description: 'KeyName: The name of the shared access policy.' + type: string + rights: + description: 'Rights: The permissions assigned to the shared access policy.' + enum: + - DeviceConnect + - RegistryRead + - RegistryRead, DeviceConnect + - RegistryRead, RegistryWrite + - RegistryRead, RegistryWrite, DeviceConnect + - RegistryRead, RegistryWrite, ServiceConnect + - RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect + - RegistryRead, ServiceConnect + - RegistryRead, ServiceConnect, DeviceConnect + - RegistryWrite + - RegistryWrite, DeviceConnect + - RegistryWrite, ServiceConnect + - RegistryWrite, ServiceConnect, DeviceConnect + - ServiceConnect + - ServiceConnect, DeviceConnect + type: string + required: + - keyName + - rights + type: object + type: array + cloudToDevice: + description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' + properties: + defaultTtlAsIso8601: + description: |- + DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + feedback: + description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' + properties: + lockDurationAsIso8601: + description: |- + LockDurationAsIso8601: The lock duration for the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + maximum: 100 + minimum: 1 + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + type: object + maxDeliveryCount: + description: |- + MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + maximum: 100 + minimum: 1 + type: integer + type: object + comments: + description: 'Comments: IoT hub comments.' + type: string + disableDeviceSAS: + description: |- + DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for + authentication. + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' + type: boolean + disableModuleSAS: + description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' + type: boolean + enableDataResidency: + description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' + type: boolean + enableFileUploadNotifications: + description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' + type: boolean + eventHubEndpoints: + additionalProperties: + description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + partitionCount: + description: |- + PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. + See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. + type: integer + retentionTimeInDays: + description: |- + RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages + type: integer + type: object + description: |- + EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. + This key has to be present in the dictionary while making create or update calls for the IoT hub. + type: object + features: + description: 'Features: The capabilities and features enabled for the IoT hub.' + enum: + - DeviceManagement + - None + type: string + ipFilterRules: + description: 'IpFilterRules: The IP filter rules.' + items: + description: The IP filter rules for the IoT hub. + properties: + action: + description: 'Action: The desired action for requests captured by this rule.' + enum: + - Accept + - Reject + type: string + filterName: + description: 'FilterName: The name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + required: + - action + - filterName + - ipMask + type: object + type: array + messagingEndpoints: + additionalProperties: + description: The properties of the messaging endpoints used by this IoT hub. + properties: + lockDurationAsIso8601: + description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + maximum: 100 + minimum: 1 + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: string + type: object + description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' + type: object + minTlsVersion: + description: |- + MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a + TLS version below 1.2 to be rejected. + type: string + networkRuleSets: + description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + properties: + applyToBuiltInEventHubEndpoint: + description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' + type: boolean + defaultAction: + description: 'DefaultAction: Default Action for Network Rule Set' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: List of IP Rules' + items: + description: IP Rule to be applied as part of Network Rule Set + properties: + action: + description: 'Action: IP Filter Action' + enum: + - Allow + type: string + filterName: + description: 'FilterName: Name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + required: + - filterName + - ipMask + type: object + type: array + required: + - applyToBuiltInEventHubEndpoint + - ipRules + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are + configured via allowedFqdnList. + type: boolean + routing: + description: |- + Routing: The routing related properties of the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + endpoints: + description: |- + Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing + rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint + is allowed across all endpoint types for free hubs. + properties: + eventHubs: + description: |- + EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does + not include the built-in Event Hubs endpoint. + items: + description: The properties related to an event hub endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the event hub endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Event hub name on the event hub namespace' + type: string + identity: + description: 'Identity: Managed identity properties of routing event hub endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the event hub endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' + type: string + required: + - name + type: object + type: array + serviceBusQueues: + description: |- + ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus queue endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the service bus queue endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus namespace' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus queue endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the service bus queue endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' + type: string + required: + - name + type: object + type: array + serviceBusTopics: + description: |- + ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus topic endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the service bus topic endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus topic' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus topic endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the service bus topic endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' + type: string + required: + - name + type: object + type: array + storageContainers: + description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' + items: + description: The properties related to a storage container endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the storage endpoint' + enum: + - identityBased + - keyBased + type: string + batchFrequencyInSeconds: + description: |- + BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 + seconds. Default value is 300 seconds. + maximum: 720 + minimum: 60 + type: integer + connectionString: + description: 'ConnectionString: The connection string of the storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The name of storage container in the storage account.' + type: string + encoding: + description: |- + Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. + Default value is 'avro'. + enum: + - Avro + - AvroDeflate + - JSON + type: string + endpointUri: + description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' + type: string + fileNameFormat: + description: |- + FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All + parameters are mandatory but can be reordered. + type: string + identity: + description: 'Identity: Managed identity properties of routing storage endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + maxChunkSizeInBytes: + description: |- + MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) + and 524288000(500MB). Default value is 314572800(300MB). + maximum: 524288000 + minimum: 10485760 + type: integer + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the storage container endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the storage account.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the storage account.' + type: string + required: + - containerName + - name + type: object + type: array + type: object + enrichments: + description: |- + Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and + custom endpoints. See: https://aka.ms/telemetryoneventgrid + items: + description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + endpointNames: + description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' + items: + type: string + minItems: 1 + type: array + key: + description: 'Key: The key or name for the enrichment property.' + type: string + value: + description: 'Value: The value for the enrichment property.' + type: string + required: + - endpointNames + - key + - value + type: object + type: array + fallbackRoute: + description: |- + FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in + the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the + fallback route is disabled by default. + properties: + condition: + description: |- + Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it + will evaluate to true by default. For grammar, See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 + endpoint is allowed. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether the fallback route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' + enum: + - DeviceMessages + type: string + required: + - endpointNames + - isEnabled + - source + type: object + routes: + description: |- + Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom + endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for + free hubs. + items: + description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + condition: + description: |- + Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true + by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one + endpoint is allowed. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether a route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + source: + description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' + enum: + - DeviceConnectionStateEvents + - DeviceJobLifecycleEvents + - DeviceLifecycleEvents + - DeviceMessages + - Invalid + - TwinChangeEvents + type: string + required: + - endpointNames + - isEnabled + - name + - source + type: object + type: array + type: object + storageEndpoints: + additionalProperties: + description: The properties of the Azure Storage endpoint for file upload. + properties: + authenticationType: + description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string for the Azure Storage account to which files are uploaded.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: |- + ContainerName: The name of the root container where you upload files. The container need not exist but should be + creatable using the connectionString specified. + type: string + identity: + description: 'Identity: Managed identity properties of storage endpoint for file upload.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + sasTtlAsIso8601: + description: |- + SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. + type: string + required: + - connectionString + - containerName + type: object + description: |- + StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one + Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error + to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, + causes an error to be thrown. + type: object + type: object + sku: + description: 'Sku: IotHub SKU info' + properties: + capacity: + description: |- + Capacity: The number of provisioned IoT Hub units. See: + https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. + type: integer + name: + description: 'Name: The name of the SKU.' + enum: + - B1 + - B2 + - B3 + - F1 + - S1 + - S2 + - S3 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: |- + Etag: The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per + the normal ETag convention. + type: string + id: + description: 'Id: The resource identifier.' + type: string + identity: + description: 'Identity: The managed identities for the IotHub.' + properties: + principalId: + description: 'PrincipalId: Principal Id' + type: string + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + properties: + description: 'Properties: IotHub properties' + properties: + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' + items: + type: string + type: array + authorizationPolicies: + description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + items: + description: The properties of an IoT hub shared access policy. + properties: + keyName: + description: 'KeyName: The name of the shared access policy.' + type: string + rights: + description: 'Rights: The permissions assigned to the shared access policy.' + type: string + type: object + type: array + cloudToDevice: + description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' + properties: + defaultTtlAsIso8601: + description: |- + DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + feedback: + description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' + properties: + lockDurationAsIso8601: + description: |- + LockDurationAsIso8601: The lock duration for the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + type: object + maxDeliveryCount: + description: |- + MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: integer + type: object + comments: + description: 'Comments: IoT hub comments.' + type: string + disableDeviceSAS: + description: |- + DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for + authentication. + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' + type: boolean + disableModuleSAS: + description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' + type: boolean + enableDataResidency: + description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' + type: boolean + enableFileUploadNotifications: + description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' + type: boolean + eventHubEndpoints: + additionalProperties: + description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + endpoint: + description: 'Endpoint: The Event Hub-compatible endpoint.' + type: string + partitionCount: + description: |- + PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. + See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. + type: integer + partitionIds: + description: 'PartitionIds: The partition ids in the Event Hub-compatible endpoint.' + items: + type: string + type: array + path: + description: 'Path: The Event Hub-compatible name.' + type: string + retentionTimeInDays: + description: |- + RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages + type: integer + type: object + description: |- + EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. + This key has to be present in the dictionary while making create or update calls for the IoT hub. + type: object + features: + description: 'Features: The capabilities and features enabled for the IoT hub.' + type: string + hostName: + description: 'HostName: The name of the host.' + type: string + ipFilterRules: + description: 'IpFilterRules: The IP filter rules.' + items: + description: The IP filter rules for the IoT hub. + properties: + action: + description: 'Action: The desired action for requests captured by this rule.' + type: string + filterName: + description: 'FilterName: The name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + type: object + type: array + locations: + description: 'Locations: Primary and secondary location for iot hub' + items: + description: Public representation of one of the locations where a resource is provisioned. + properties: + location: + description: 'Location: The name of the Azure region' + type: string + role: + description: |- + Role: The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently + provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT + hub can failover to. + type: string + type: object + type: array + messagingEndpoints: + additionalProperties: + description: The properties of the messaging endpoints used by this IoT hub. + properties: + lockDurationAsIso8601: + description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: string + type: object + description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' + type: object + minTlsVersion: + description: |- + MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a + TLS version below 1.2 to be rejected. + type: string + networkRuleSets: + description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + properties: + applyToBuiltInEventHubEndpoint: + description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' + type: boolean + defaultAction: + description: 'DefaultAction: Default Action for Network Rule Set' + type: string + ipRules: + description: 'IpRules: List of IP Rules' + items: + description: IP Rule to be applied as part of Network Rule Set + properties: + action: + description: 'Action: IP Filter Action' + type: string + filterName: + description: 'FilterName: Name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + type: object + type: array + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections created on this IotHub' + items: + description: The private endpoint connection of an IotHub + properties: + id: + description: 'Id: The resource identifier.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are + configured via allowedFqdnList. + type: boolean + routing: + description: |- + Routing: The routing related properties of the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + endpoints: + description: |- + Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing + rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint + is allowed across all endpoint types for free hubs. + properties: + eventHubs: + description: |- + EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does + not include the built-in Event Hubs endpoint. + items: + description: The properties related to an event hub endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Event hub name on the event hub namespace' + type: string + id: + description: 'Id: Id of the event hub endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing event hub endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' + type: string + type: object + type: array + serviceBusQueues: + description: |- + ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus queue endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus namespace' + type: string + id: + description: 'Id: Id of the service bus queue endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus queue endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' + type: string + type: object + type: array + serviceBusTopics: + description: |- + ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus topic endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus topic' + type: string + id: + description: 'Id: Id of the service bus topic endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus topic endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' + type: string + type: object + type: array + storageContainers: + description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' + items: + description: The properties related to a storage container endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the storage endpoint' + type: string + batchFrequencyInSeconds: + description: |- + BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 + seconds. Default value is 300 seconds. + type: integer + containerName: + description: 'ContainerName: The name of storage container in the storage account.' + type: string + encoding: + description: |- + Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. + Default value is 'avro'. + type: string + endpointUri: + description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' + type: string + fileNameFormat: + description: |- + FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All + parameters are mandatory but can be reordered. + type: string + id: + description: 'Id: Id of the storage container endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing storage endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + maxChunkSizeInBytes: + description: |- + MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) + and 524288000(500MB). Default value is 314572800(300MB). + type: integer + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the storage account.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the storage account.' + type: string + type: object + type: array + type: object + enrichments: + description: |- + Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and + custom endpoints. See: https://aka.ms/telemetryoneventgrid + items: + description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + endpointNames: + description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' + items: + type: string + type: array + key: + description: 'Key: The key or name for the enrichment property.' + type: string + value: + description: 'Value: The value for the enrichment property.' + type: string + type: object + type: array + fallbackRoute: + description: |- + FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in + the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the + fallback route is disabled by default. + properties: + condition: + description: |- + Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it + will evaluate to true by default. For grammar, See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 + endpoint is allowed. + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether the fallback route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' + type: string + type: object + routes: + description: |- + Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom + endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for + free hubs. + items: + description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + condition: + description: |- + Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true + by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one + endpoint is allowed. + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether a route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' + type: string + type: object + type: array + type: object + state: + description: 'State: The hub state.' + type: string + storageEndpoints: + additionalProperties: + description: The properties of the Azure Storage endpoint for file upload. + properties: + authenticationType: + description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' + type: string + containerName: + description: |- + ContainerName: The name of the root container where you upload files. The container need not exist but should be + creatable using the connectionString specified. + type: string + identity: + description: 'Identity: Managed identity properties of storage endpoint for file upload.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + sasTtlAsIso8601: + description: |- + SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. + type: string + type: object + description: |- + StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one + Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error + to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, + causes an error to be thrown. + type: object + type: object + sku: + description: 'Sku: IotHub SKU info' + properties: + capacity: + description: |- + Capacity: The number of provisioned IoT Hub units. See: + https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. + type: integer + name: + description: 'Name: The name of the SKU.' + type: string + tier: + description: 'Tier: The billing tier for the IoT hub.' + type: string + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210702storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210702.IotHub + Generator information: + - Generated from: /iothub/resource-manager/Microsoft.Devices/IoTHub/stable/2021-07-02/iothub.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210702.IotHub_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: Storage version of v1api20210702.ArmIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210702.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210702.IotHubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210702.IotHubOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + devicePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + deviceSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWritePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWriteSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + servicePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + serviceSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20210702.IotHubProperties + The properties of an IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedFqdnList: + items: + type: string + type: array + authorizationPolicies: + items: + description: |- + Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule + The properties of an IoT hub shared access policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + rights: + type: string + type: object + type: array + cloudToDevice: + description: |- + Storage version of v1api20210702.CloudToDeviceProperties + The IoT hub cloud-to-device messaging properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultTtlAsIso8601: + type: string + feedback: + description: |- + Storage version of v1api20210702.FeedbackProperties + The properties of the feedback queue for cloud-to-device messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + maxDeliveryCount: + type: integer + type: object + comments: + type: string + disableDeviceSAS: + type: boolean + disableLocalAuth: + type: boolean + disableModuleSAS: + type: boolean + enableDataResidency: + type: boolean + enableFileUploadNotifications: + type: boolean + eventHubEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.EventHubProperties + The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + partitionCount: + type: integer + retentionTimeInDays: + type: integer + type: object + type: object + features: + type: string + ipFilterRules: + items: + description: |- + Storage version of v1api20210702.IpFilterRule + The IP filter rules for the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + messagingEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.MessagingEndpointProperties + The properties of the messaging endpoints used by this IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + type: object + minTlsVersion: + type: string + networkRuleSets: + description: |- + Storage version of v1api20210702.NetworkRuleSetProperties + Network Rule Set Properties of IotHub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applyToBuiltInEventHubEndpoint: + type: boolean + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210702.NetworkRuleSetIpRule + IP Rule to be applied as part of Network Rule Set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + type: object + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: boolean + routing: + description: |- + Storage version of v1api20210702.RoutingProperties + The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoints: + description: |- + Storage version of v1api20210702.RoutingEndpoints + The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A + maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed + across all endpoint types for free hubs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubs: + items: + description: |- + Storage version of v1api20210702.RoutingEventHubProperties + The properties related to an event hub endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the event hub endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusQueues: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties + The properties related to service bus queue endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the service bus queue endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusTopics: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties + The properties related to service bus topic endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the service bus topic endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + storageContainers: + items: + description: |- + Storage version of v1api20210702.RoutingStorageContainerProperties + The properties related to a storage container endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + batchFrequencyInSeconds: + type: integer + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + encoding: + type: string + endpointUri: + type: string + fileNameFormat: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + maxChunkSizeInBytes: + type: integer + name: + type: string + reference: + description: 'Reference: Id of the storage container endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + type: object + enrichments: + items: + description: |- + Storage version of v1api20210702.EnrichmentProperties + The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointNames: + items: + type: string + type: array + key: + type: string + value: + type: string + type: object + type: array + fallbackRoute: + description: |- + Storage version of v1api20210702.FallbackRouteProperties + The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + routes: + items: + description: |- + Storage version of v1api20210702.RouteProperties + The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + type: array + type: object + storageEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.StorageEndpointProperties + The properties of the Azure Storage endpoint for file upload. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + sasTtlAsIso8601: + type: string + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20210702.IotHubSkuInfo + Information about the SKU of the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210702.IotHub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + identity: + description: Storage version of v1api20210702.ArmIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210702.ArmUserIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20210702.IotHubProperties_STATUS + The properties of an IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedFqdnList: + items: + type: string + type: array + authorizationPolicies: + items: + description: |- + Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule_STATUS + The properties of an IoT hub shared access policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + rights: + type: string + type: object + type: array + cloudToDevice: + description: |- + Storage version of v1api20210702.CloudToDeviceProperties_STATUS + The IoT hub cloud-to-device messaging properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultTtlAsIso8601: + type: string + feedback: + description: |- + Storage version of v1api20210702.FeedbackProperties_STATUS + The properties of the feedback queue for cloud-to-device messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + maxDeliveryCount: + type: integer + type: object + comments: + type: string + disableDeviceSAS: + type: boolean + disableLocalAuth: + type: boolean + disableModuleSAS: + type: boolean + enableDataResidency: + type: boolean + enableFileUploadNotifications: + type: boolean + eventHubEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.EventHubProperties_STATUS + The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + path: + type: string + retentionTimeInDays: + type: integer + type: object + type: object + features: + type: string + hostName: + type: string + ipFilterRules: + items: + description: |- + Storage version of v1api20210702.IpFilterRule_STATUS + The IP filter rules for the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + locations: + items: + description: |- + Storage version of v1api20210702.IotHubLocationDescription_STATUS + Public representation of one of the locations where a resource is provisioned. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + role: + type: string + type: object + type: array + messagingEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.MessagingEndpointProperties_STATUS + The properties of the messaging endpoints used by this IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + type: object + minTlsVersion: + type: string + networkRuleSets: + description: |- + Storage version of v1api20210702.NetworkRuleSetProperties_STATUS + Network Rule Set Properties of IotHub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applyToBuiltInEventHubEndpoint: + type: boolean + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210702.NetworkRuleSetIpRule_STATUS + IP Rule to be applied as part of Network Rule Set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210702.PrivateEndpointConnection_STATUS + The private endpoint connection of an IotHub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: boolean + routing: + description: |- + Storage version of v1api20210702.RoutingProperties_STATUS + The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoints: + description: |- + Storage version of v1api20210702.RoutingEndpoints_STATUS + The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A + maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed + across all endpoint types for free hubs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubs: + items: + description: |- + Storage version of v1api20210702.RoutingEventHubProperties_STATUS + The properties related to an event hub endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusQueues: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties_STATUS + The properties related to service bus queue endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusTopics: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties_STATUS + The properties related to service bus topic endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + storageContainers: + items: + description: |- + Storage version of v1api20210702.RoutingStorageContainerProperties_STATUS + The properties related to a storage container endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + batchFrequencyInSeconds: + type: integer + containerName: + type: string + encoding: + type: string + endpointUri: + type: string + fileNameFormat: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + maxChunkSizeInBytes: + type: integer + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + type: object + enrichments: + items: + description: |- + Storage version of v1api20210702.EnrichmentProperties_STATUS + The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointNames: + items: + type: string + type: array + key: + type: string + value: + type: string + type: object + type: array + fallbackRoute: + description: |- + Storage version of v1api20210702.FallbackRouteProperties_STATUS + The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + routes: + items: + description: |- + Storage version of v1api20210702.RouteProperties_STATUS + The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + type: array + type: object + state: + type: string + storageEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.StorageEndpointProperties_STATUS + The properties of the Azure Storage endpoint for file upload. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + containerName: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + sasTtlAsIso8601: + type: string + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20210702.IotHubSkuInfo_STATUS + Information about the SKU of the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210702.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: jobs.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: Job + listKind: JobList + plural: jobs + singular: job + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[-\w\._\(\)]+$ + type: string + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + required: + - cronExpression + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + enum: + - Event + - Manual + - Schedule + type: string + required: + - replicaTimeout + - triggerType + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App Job + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + type: string + type: object + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container apps job.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses of a container apps job.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container Apps Job.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.Job + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.Job_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20240301.JobConfiguration + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_EventTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20240301.JobScale + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.JobScaleRule + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20240301.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + type: string + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.JobOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.JobTemplate + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20240301.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.Job_STATUS + Container App Job + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20240301.JobConfiguration_STATUS + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_EventTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20240301.JobScale_STATUS + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.JobScaleRule_STATUS + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20240301.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + triggerType: + type: string + type: object + environmentId: + type: string + eventStreamEndpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.JobTemplate_STATUS + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20240301.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[-\w\._\(\)]+$ + type: string + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed + Identity is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + enum: + - All + - Init + - Main + - None + type: string + required: + - identityReference + type: object + type: array + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + required: + - cronExpression + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + enum: + - Event + - Manual + - Schedule + type: string + required: + - replicaTimeout + - triggerType + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - NfsAzureFile + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App Job + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed + Identity is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + type: string + type: object + type: array + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + type: string + type: object + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container apps job.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses of a container apps job.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container Apps Job.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.Job + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.Job_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20250101.JobConfiguration + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_EventTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20250101.JobScale + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.JobScaleRule + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + lifecycle: + type: string + required: + - identityReference + type: object + type: array + manualTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ManualTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ScheduleTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + type: string + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250101.JobOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.JobTemplate + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20250101.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250101.Job_STATUS + Container App Job + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20250101.JobConfiguration_STATUS + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_EventTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20250101.JobScale_STATUS + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.JobScaleRule_STATUS + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings_STATUS + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + lifecycle: + type: string + type: object + type: array + manualTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ManualTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ScheduleTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + triggerType: + type: string + type: object + environmentId: + type: string + eventStreamEndpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.JobTemplate_STATUS + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20250101.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: loadbalancers.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: LoadBalancer + listKind: LoadBalancerList + plural: loadbalancers + singular: loadbalancer + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the backend address.' + type: string + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendPort + - frontendPortRangeEnd + - frontendPortRangeStart + - protocol + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + enum: + - Default + - SourceIP + - SourceIPProtocol + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - frontendPort + - protocol + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendAddressPool + - frontendIPConfigurations + - protocol + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + enum: + - Http + - Https + - Tcp + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + required: + - port + - protocol + type: object + type: array + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: LoadBalancer resource. + properties: + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + backendIPConfigurations: + description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' + items: + description: IPConfiguration in a network interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Name of the backend address.' + type: string + networkInterfaceIPConfiguration: + description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + outboundRule: + description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the backend address pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Type of the resource.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the outbound rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + loadBalancingRules: + description: 'LoadBalancingRules: The load balancer rules that use this probe.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the probe resource.' + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancer resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the load balancer resource.' + type: string + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.LoadBalancer + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.LoadBalancer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20201101.LoadBalancerBackendAddress + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + type: string + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + inboundNatPools: + items: + description: |- + Storage version of v1api20201101.InboundNatPool + Inbound NAT pool of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.LoadBalancingRule + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + type: string + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.LoadBalancerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20201101.OutboundRule + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probes: + items: + description: |- + Storage version of v1api20201101.Probe + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalInSeconds: + type: integer + name: + type: string + numberOfProbes: + type: integer + port: + type: integer + protocol: + type: string + requestPath: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20201101.LoadBalancerSku + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.LoadBalancer_STATUS + LoadBalancer resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20201101.LoadBalancerBackendAddress_STATUS + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + networkInterfaceIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRule: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + outboundRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + type: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_STATUS_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: array + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20201101.InboundNatPool_STATUS + Inbound NAT pool of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.LoadBalancingRule_STATUS + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + location: + type: string + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20201101.OutboundRule_STATUS + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20201101.Probe_STATUS + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + intervalInSeconds: + type: integer + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + numberOfProbes: + type: integer + port: + type: integer + protocol: + type: string + provisioningState: + type: string + requestPath: + type: string + type: + type: string + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20201101.LoadBalancerSku_STATUS + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + drainPeriodInSeconds: + description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' + type: integer + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + adminState: + description: |- + AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always + forward new connections to backend, or deny new connections and reset existing connections. + enum: + - Down + - None + - Up + type: string + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the backend address.' + type: string + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: The location of the backend address pool.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + syncMode: + description: 'SyncMode: Backend address synchronous mode for the backend pool' + enum: + - Automatic + - Manual + type: string + tunnelInterfaces: + description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' + items: + description: Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + identifier: + description: 'Identifier: Identifier of gateway load balancer tunnel interface.' + type: integer + port: + description: 'Port: Port of gateway load balancer tunnel interface.' + type: integer + protocol: + description: 'Protocol: Protocol of gateway load balancer tunnel interface.' + enum: + - Native + - None + - VXLAN + type: string + type: + description: 'Type: Traffic type of gateway load balancer tunnel interface.' + enum: + - External + - Internal + - None + type: string + type: object + type: array + virtualNetwork: + description: 'VirtualNetwork: A reference to a virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendPort + - frontendPortRangeEnd + - frontendPortRangeStart + - protocol + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendAddressPools: + description: 'BackendAddressPools: An array of references to pool of DIPs.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + enum: + - Default + - SourceIP + - SourceIPProtocol + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - frontendPort + - protocol + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendAddressPool + - frontendIPConfigurations + - protocol + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + noHealthyBackendsBehavior: + description: |- + NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances + are probed down. + enum: + - AllProbedDown + - AllProbedUp + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + probeThreshold: + description: |- + ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being + delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be + taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + enum: + - Http + - Https + - Tcp + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + required: + - port + - protocol + type: object + type: array + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + enum: + - Basic + - Gateway + - Standard + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: LoadBalancer resource. + properties: + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + backendIPConfigurations: + description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' + items: + description: IPConfiguration in a network interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + drainPeriodInSeconds: + description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' + type: integer + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound NAT rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + adminState: + description: |- + AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always + forward new connections to backend, or deny new connections and reset existing connections. + type: string + inboundNatRulesPortMapping: + description: 'InboundNatRulesPortMapping: Collection of inbound NAT rule port mappings.' + items: + description: Individual port mappings for inbound NAT rule created for backend pool. + properties: + backendPort: + description: 'BackendPort: Backend port.' + type: integer + frontendPort: + description: 'FrontendPort: Frontend port.' + type: integer + inboundNatRuleName: + description: 'InboundNatRuleName: Name of inbound NAT rule.' + type: string + type: object + type: array + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Name of the backend address.' + type: string + networkInterfaceIPConfiguration: + description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: The location of the backend address pool.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + outboundRule: + description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the backend address pool resource.' + type: string + syncMode: + description: 'SyncMode: Backend address synchronous mode for the backend pool' + type: string + tunnelInterfaces: + description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' + items: + description: Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + identifier: + description: 'Identifier: Identifier of gateway load balancer tunnel interface.' + type: integer + port: + description: 'Port: Port of gateway load balancer tunnel interface.' + type: integer + protocol: + description: 'Protocol: Protocol of gateway load balancer tunnel interface.' + type: string + type: + description: 'Type: Traffic type of gateway load balancer tunnel interface.' + type: string + type: object + type: array + type: + description: 'Type: Type of the resource.' + type: string + virtualNetwork: + description: 'VirtualNetwork: A reference to a virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Type of the resource.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendAddressPools: + description: 'BackendAddressPools: An array of references to pool of DIPs.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the outbound rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + loadBalancingRules: + description: 'LoadBalancingRules: The load balancer rules that use this probe.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + noHealthyBackendsBehavior: + description: |- + NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances + are probed down. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + probeThreshold: + description: |- + ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being + delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be + taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the probe resource.' + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancer resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the load balancer resource.' + type: string + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.LoadBalancer + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.LoadBalancer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainPeriodInSeconds: + type: integer + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20240301.LoadBalancerBackendAddress + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminState: + type: string + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + name: + type: string + syncMode: + type: string + tunnelInterfaces: + items: + description: |- + Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface + Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifier: + type: integer + port: + type: integer + protocol: + type: string + type: + type: string + type: object + type: array + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + inboundNatPools: + items: + description: |- + Storage version of v1api20240301.InboundNatPool + Inbound NAT pool of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.LoadBalancingRule + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + type: string + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.LoadBalancerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20240301.OutboundRule + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probes: + items: + description: |- + Storage version of v1api20240301.Probe + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalInSeconds: + type: integer + name: + type: string + noHealthyBackendsBehavior: + type: string + numberOfProbes: + type: integer + port: + type: integer + probeThreshold: + type: integer + protocol: + type: string + requestPath: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240301.LoadBalancerSku + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.LoadBalancer_STATUS + LoadBalancer resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + drainPeriodInSeconds: + type: integer + etag: + type: string + id: + type: string + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20240301.LoadBalancerBackendAddress_STATUS + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminState: + type: string + inboundNatRulesPortMapping: + items: + description: |- + Storage version of v1api20240301.NatRulePortMapping_STATUS + Individual port mappings for inbound NAT rule created for backend pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + frontendPort: + type: integer + inboundNatRuleName: + type: string + type: object + type: array + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + networkInterfaceIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + outboundRule: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + outboundRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + syncMode: + type: string + tunnelInterfaces: + items: + description: |- + Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface_STATUS + Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifier: + type: integer + port: + type: integer + protocol: + type: string + type: + type: string + type: object + type: array + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: array + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20240301.InboundNatPool_STATUS + Inbound NAT pool of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.LoadBalancingRule_STATUS + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + location: + type: string + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20240301.OutboundRule_STATUS + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20240301.Probe_STATUS + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + intervalInSeconds: + type: integer + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + noHealthyBackendsBehavior: + type: string + numberOfProbes: + type: integer + port: + type: integer + probeThreshold: + type: integer + protocol: + type: string + provisioningState: + type: string + requestPath: + type: string + type: + type: string + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.LoadBalancerSku_STATUS + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: loadbalancersinboundnatrules.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: LoadBalancersInboundNatRule + listKind: LoadBalancersInboundNatRuleList + plural: loadbalancersinboundnatrules + singular: loadbalancersinboundnatrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/LoadBalancer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - owner + type: object + status: + properties: + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.LoadBalancersInboundNatRule + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.LoadBalancersInboundNatRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20201101.LoadBalancersInboundNatRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/LoadBalancer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocol: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20201101.LoadBalancersInboundNatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/LoadBalancer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - owner + type: object + status: + properties: + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.LoadBalancersInboundNatRule + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.LoadBalancersInboundNatRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20240301.LoadBalancersInboundNatRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/LoadBalancer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocol: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240301.LoadBalancersInboundNatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: maintenanceconfigurations.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: MaintenanceConfiguration + listKind: MaintenanceConfigurationList + plural: maintenanceconfigurations + singular: maintenanceconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' + properties: + durationHours: + description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' + maximum: 24 + minimum: 4 + type: integer + notAllowedDates: + description: |- + NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + 22:00' to '2023-01-03 22:00' in UTC time. + items: + description: For example, between '2022-12-23' and '2023-01-05'. + properties: + end: + description: 'End: The end date of the date span.' + type: string + start: + description: 'Start: The start date of the date span.' + type: string + required: + - end + - start + type: object + type: array + schedule: + description: 'Schedule: Recurrence schedule for the maintenance window.' + properties: + absoluteMonthly: + description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' + properties: + dayOfMonth: + description: 'DayOfMonth: The date of the month.' + maximum: 31 + minimum: 1 + type: integer + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + maximum: 6 + minimum: 1 + type: integer + required: + - dayOfMonth + - intervalMonths + type: object + daily: + description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' + properties: + intervalDays: + description: 'IntervalDays: Specifies the number of days between each set of occurrences.' + maximum: 7 + minimum: 1 + type: integer + required: + - intervalDays + type: object + relativeMonthly: + description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + maximum: 6 + minimum: 1 + type: integer + weekIndex: + description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + required: + - dayOfWeek + - intervalMonths + - weekIndex + type: object + weekly: + description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + intervalWeeks: + description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' + maximum: 4 + minimum: 1 + type: integer + required: + - dayOfWeek + - intervalWeeks + type: object + type: object + startDate: + description: |- + StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + type: string + startTime: + description: |- + StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + pattern: ^\d{2}:\d{2}$ + type: string + utcOffset: + description: |- + UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + default is '+00:00'. + pattern: ^(-|\+)[0-9]{2}:[0-9]{2}$ + type: string + required: + - durationHours + - schedule + - startTime + type: object + notAllowedTime: + description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' + items: + description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + end: + description: 'End: The end of a time span' + type: string + start: + description: 'Start: The start of a time span' + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + timeInWeek: + description: |- + TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + both entries. + items: + description: Time in a week. + properties: + day: + description: 'Day: The day of the week.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + hourSlots: + description: |- + HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + time range. + items: + maximum: 23 + minimum: 0 + type: integer + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' + properties: + durationHours: + description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' + type: integer + notAllowedDates: + description: |- + NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + 22:00' to '2023-01-03 22:00' in UTC time. + items: + description: For example, between '2022-12-23' and '2023-01-05'. + properties: + end: + description: 'End: The end date of the date span.' + type: string + start: + description: 'Start: The start date of the date span.' + type: string + type: object + type: array + schedule: + description: 'Schedule: Recurrence schedule for the maintenance window.' + properties: + absoluteMonthly: + description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' + properties: + dayOfMonth: + description: 'DayOfMonth: The date of the month.' + type: integer + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + type: integer + type: object + daily: + description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' + properties: + intervalDays: + description: 'IntervalDays: Specifies the number of days between each set of occurrences.' + type: integer + type: object + relativeMonthly: + description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + type: string + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + type: integer + weekIndex: + description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' + type: string + type: object + weekly: + description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + type: string + intervalWeeks: + description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' + type: integer + type: object + type: object + startDate: + description: |- + StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + type: string + startTime: + description: |- + StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + type: string + utcOffset: + description: |- + UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + default is '+00:00'. + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + notAllowedTime: + description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' + items: + description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + end: + description: 'End: The end of a time span' + type: string + start: + description: 'Start: The start of a time span' + type: string + type: object + type: array + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + timeInWeek: + description: |- + TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + both entries. + items: + description: Time in a week. + properties: + day: + description: 'Day: The day of the week.' + type: string + hourSlots: + description: |- + HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + time range. + items: + type: integer + type: array + type: object + type: array + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240901.MaintenanceConfiguration + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240901.MaintenanceConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + maintenanceWindow: + description: |- + Storage version of v1api20240901.MaintenanceWindow + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + durationHours: + type: integer + notAllowedDates: + items: + description: |- + Storage version of v1api20240901.DateSpan + For example, between '2022-12-23' and '2023-01-05'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array + schedule: + description: |- + Storage version of v1api20240901.Schedule + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or + 'relativeMonthly' for your maintenance schedule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteMonthly: + description: |- + Storage version of v1api20240901.AbsoluteMonthlySchedule + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfMonth: + type: integer + intervalMonths: + type: integer + type: object + daily: + description: |- + Storage version of v1api20240901.DailySchedule + For schedules like: 'recur every day' or 'recur every 3 days'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalDays: + type: integer + type: object + relativeMonthly: + description: |- + Storage version of v1api20240901.RelativeMonthlySchedule + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalMonths: + type: integer + weekIndex: + type: string + type: object + weekly: + description: |- + Storage version of v1api20240901.WeeklySchedule + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalWeeks: + type: integer + type: object + type: object + startDate: + type: string + startTime: + type: string + utcOffset: + type: string + type: object + notAllowedTime: + items: + description: |- + Storage version of v1api20240901.TimeSpan + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240901.MaintenanceConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + timeInWeek: + items: + description: |- + Storage version of v1api20240901.TimeInWeek + Time in a week. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + day: + type: string + hourSlots: + items: + type: integer + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240901.MaintenanceConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20240901.MaintenanceWindow_STATUS + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + durationHours: + type: integer + notAllowedDates: + items: + description: |- + Storage version of v1api20240901.DateSpan_STATUS + For example, between '2022-12-23' and '2023-01-05'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array + schedule: + description: |- + Storage version of v1api20240901.Schedule_STATUS + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or + 'relativeMonthly' for your maintenance schedule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteMonthly: + description: |- + Storage version of v1api20240901.AbsoluteMonthlySchedule_STATUS + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfMonth: + type: integer + intervalMonths: + type: integer + type: object + daily: + description: |- + Storage version of v1api20240901.DailySchedule_STATUS + For schedules like: 'recur every day' or 'recur every 3 days'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalDays: + type: integer + type: object + relativeMonthly: + description: |- + Storage version of v1api20240901.RelativeMonthlySchedule_STATUS + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalMonths: + type: integer + weekIndex: + type: string + type: object + weekly: + description: |- + Storage version of v1api20240901.WeeklySchedule_STATUS + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalWeeks: + type: integer + type: object + type: object + startDate: + type: string + startTime: + type: string + utcOffset: + type: string + type: object + name: + type: string + notAllowedTime: + items: + description: |- + Storage version of v1api20240901.TimeSpan_STATUS + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array + systemData: + description: |- + Storage version of v1api20240901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + timeInWeek: + items: + description: |- + Storage version of v1api20240901.TimeInWeek_STATUS + Time in a week. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + day: + type: string + hourSlots: + items: + type: integer + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: managedclusters.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: ManagedCluster + listKind: ManagedClusterList + plural: managedclusters + singular: managedcluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + enum: + - OS + - Temporary + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - CBLMariner + - Ubuntu + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + enum: + - Regular + - Spot + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + properties: + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + type: string + networkProfile: + properties: + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + properties: + count: + maximum: 100 + minimum: 1 + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + enum: + - basic + - standard + type: string + networkMode: + enum: + - bridge + - transparent + type: string + networkPlugin: + enum: + - azure + - kubenet + type: string + networkPolicy: + enum: + - azure + - calico + type: string + outboundType: + enum: + - loadBalancer + - userDefinedRouting + type: string + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + type: object + nodeResourceGroup: + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + items: + properties: + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + properties: + name: + enum: + - Basic + type: string + tier: + enum: + - Free + - Paid + type: string + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + required: + - location + - owner + type: object + status: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + properties: + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + type: string + type: object + azurePortalFQDN: + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + properties: + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + properties: + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeResourceGroup: + type: string + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + properties: + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + properties: + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + servicePrincipalProfile: + properties: + clientId: + type: string + type: object + sku: + properties: + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: Storage version of v1api20210501.ManagedCluster + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20210501.ManagedClusterAADProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20210501.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20210501.ExtendedLocation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: Storage version of v1api20210501.ManagedClusterIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: Storage version of v1api20210501.UserAssignedIdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20210501.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20210501.ContainerServiceLinuxProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20210501.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20210501.ContainerServiceSshPublicKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + networkProfile: + description: Storage version of v1api20210501.ContainerServiceNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + loadBalancerProfile: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeResourceGroup: + type: string + operatorSpec: + description: |- + Storage version of v1api20210501.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210501.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20210501.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityException + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: Storage version of v1api20210501.PrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + servicePrincipalProfile: + description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: Storage version of v1api20210501.ManagedClusterSKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + description: Storage version of v1api20210501.ManagedClusterWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210501.ManagedCluster_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20210501.ManagedClusterAADProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20210501.ManagedClusterAddonProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string + type: object + azurePortalFQDN: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20210501.ExtendedLocation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: Storage version of v1api20210501.ManagedClusterIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210501.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20210501.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20210501.ContainerServiceSshConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20210501.ContainerServiceSshPublicKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: Storage version of v1api20210501.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + loadBalancerProfile: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeResourceGroup: + type: string + podIdentityProfile: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20210501.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityException_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: Storage version of v1api20210501.PrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + servicePrincipalProfile: + description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: Storage version of v1api20210501.ManagedClusterSKU_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + windowsProfile: + description: Storage version of v1api20210501.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230201 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + enum: + - OS + - Temporary + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + properties: + code: + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + enum: + - Regular + - Spot + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + enum: + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + properties: + metrics: + properties: + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + properties: + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + type: string + networkProfile: + properties: + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + ipFamilies: + items: + enum: + - IPv4 + - IPv6 + type: string + type: array + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + properties: + count: + maximum: 100 + minimum: 1 + type: integer + countIPv6: + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + enum: + - basic + - standard + type: string + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + properties: + count: + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + enum: + - azure + - cilium + type: string + networkMode: + enum: + - bridge + - transparent + type: string + networkPlugin: + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + enum: + - overlay + type: string + networkPolicy: + enum: + - azure + - calico + - cilium + type: string + outboundType: + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + properties: + enabled: + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + items: + properties: + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + enum: + - Disabled + - Enabled + type: string + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + properties: + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + properties: + name: + enum: + - Base + type: string + tier: + enum: + - Free + - Standard + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + properties: + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + type: string + type: object + azureMonitorProfile: + properties: + metrics: + properties: + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + properties: + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + properties: + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + properties: + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + properties: + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + properties: + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + properties: + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + properties: + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + type: object + sku: + properties: + name: + type: string + tier: + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + systemData: + properties: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230201storage + schema: + openAPIV3Schema: + description: Storage version of v1api20230201.ManagedCluster + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230201.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20230201.ManagedClusterAADProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20230201.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20230201.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20230201.ExtendedLocation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: Storage version of v1api20230201.ManagedClusterIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: Storage version of v1api20230201.UserAssignedIdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20230201.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20230201.ContainerServiceLinuxProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20230201.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20230201.ContainerServiceSshPublicKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + networkProfile: + description: Storage version of v1api20230201.ContainerServiceNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20230201.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230201.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230201.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20230201.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentityException + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: Storage version of v1api20230201.PrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + securityProfile: + description: Storage version of v1api20230201.ManagedClusterSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20230201.AzureKeyVaultKms + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: Storage version of v1api20230201.ManagedClusterSKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20230201.ManagedClusterStorageProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + description: Storage version of v1api20230201.ManagedClusterWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20230201.WindowsGmsaProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230201.ManagedCluster_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20230201.ManagedClusterAADProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20230201.ManagedClusterAddonProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20230201.ExtendedLocation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: Storage version of v1api20230201.ManagedClusterIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230201.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20230201.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20230201.ContainerServiceSshConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20230201.ContainerServiceSshPublicKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: Storage version of v1api20230201.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20230201.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20230201.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20230201.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentityException_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: Storage version of v1api20230201.PrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + securityProfile: + description: Storage version of v1api20230201.ManagedClusterSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20230201.AzureKeyVaultKms_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: Storage version of v1api20230201.ManagedClusterSKU_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20230201.ManagedClusterStorageProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + systemData: + description: Storage version of v1api20230201.SystemData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + windowsProfile: + description: Storage version of v1api20230201.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20230201.WindowsGmsaProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + required: + - enabled + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + enum: + - NodeImage + - None + - Unmanaged + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + enum: + - IPv4 + - IPv6 + type: string + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + maximum: 100 + minimum: 1 + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + enum: + - basic + - standard + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + enum: + - azure + - cilium + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + enum: + - bridge + - transparent + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + enum: + - overlay + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + enum: + - azure + - calico + - cilium + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + enum: + - Disabled + - Enabled + type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' + type: object + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + secret: + description: 'Secret: The secret password associated with the service principal in plain text.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + enum: + - Base + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + enum: + - Free + - Premium + - Standard + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + description: Managed cluster. + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + identity: + description: 'Identity: Information of user assigned identity used by this add-on.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: array + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + type: string + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. + type: string + type: object + type: object + type: object + azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + description: |- + CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + exactly equal to it. If kubernetesVersion was , this field will contain the full + version being used. + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + type: string + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + fqdn: + description: 'Fqdn: The FQDN of the master pool.' + type: string + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' + type: string + tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' + type: string + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + type: object + type: array + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + type: string + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + provisioningInfo: + properties: + error: + description: 'Error: Pod identity assignment error (if any).' + properties: + error: + description: 'Error: Details about the error.' + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + details: + description: 'Details: A list of additional details about the error.' + items: + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: array + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: object + type: object + provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' + type: string + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + type: object + type: array + type: object + powerState: + description: 'PowerState: The Power State of the cluster.' + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' + type: string + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + id: + description: 'Id: The ID of the private link resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' + type: string + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The current provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) + type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + type: string + keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + type: string + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. + type: string + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' + type: object + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + type: string + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231001.ManagedCluster + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231001.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20231001.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20231001.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20231001.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20231001.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20231001.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfile + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20231001.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20231001.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: |- + Storage version of v1api20231001.ManagedClusterIdentity + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20231001.DelegatedResource + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20231001.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20231001.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20231001.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20231001.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.ContainerServiceNetworkProfile + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20231001.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20231001.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231001.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231001.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: |- + Storage version of v1api20231001.PrivateLinkResource + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + securityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfile + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20231001.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20231001.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20231001.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20231001.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20231001.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20231001.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20231001.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20231001.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20231001.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: |- + Storage version of v1api20231001.ManagedClusterSKU + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfile + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + tags: + additionalProperties: + type: string + type: object + upgradeSettings: + description: |- + Storage version of v1api20231001.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20231001.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20231001.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20231001.ManagedCluster_STATUS + Managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20231001.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20231001.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20231001.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20231001.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfile_STATUS + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20231001.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20231001.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20231001.ManagedClusterIdentity_STATUS + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20231001.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231001.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20231001.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20231001.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20231001.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20231001.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20231001.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: |- + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: |- + Storage version of v1api20231001.PrivateLinkResource_STATUS + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + securityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20231001.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20231001.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20231001.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20231001.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20231001.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20231001.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20231001.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20231001.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20231001.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: |- + Storage version of v1api20231001.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: |- + Storage version of v1api20231001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20231001.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20231001.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231102preview + schema: + openAPIV3Schema: + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: + items: + properties: + artifactStreamingProfile: + properties: + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + gpuProfile: + properties: + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + enum: + - OS + - Temporary + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: + properties: + allowedHostPorts: + items: + properties: + portEnd: + maximum: 65535 + minimum: 1 + type: integer + portStart: + maximum: 65535 + minimum: 1 + type: integer + protocol: + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + properties: + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + properties: + code: + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + enum: + - Regular + - Spot + type: string + securityProfile: + properties: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + enum: + - Disabled + - LocalUser + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: + properties: + drainTimeoutInMinutes: + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + maximum: 30 + minimum: 0 + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + properties: + scale: + properties: + manual: + items: + properties: + count: + maximum: 1000 + minimum: 0 + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + aiToolchainOperatorProfile: + properties: + enabled: + type: boolean + type: object + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + nodeOSUpgradeChannel: + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + properties: + logs: + properties: + appMonitoring: + properties: + enabled: + type: boolean + type: object + containerInsights: + properties: + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsHostLogs: + properties: + enabled: + type: boolean + type: object + type: object + type: object + metrics: + properties: + appMonitoringOpenTelemetryMetrics: + properties: + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + creationData: + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + properties: + delegatedResources: + additionalProperties: + properties: + location: + type: string + referralResource: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + type: object + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + ingressProfile: + properties: + webAppRouting: + properties: + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + type: string + metricsProfile: + properties: + costAnalysis: + properties: + enabled: + type: boolean + type: object + type: object + networkProfile: + properties: + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + ipFamilies: + items: + enum: + - IPv4 + - IPv6 + type: string + type: array + kubeProxyConfig: + properties: + enabled: + type: boolean + ipvsConfig: + properties: + scheduler: + enum: + - LeastConnection + - RoundRobin + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + enum: + - IPTABLES + - IPVS + type: string + type: object + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + enum: + - NodeIP + - NodeIPConfiguration + type: string + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + properties: + count: + maximum: 100 + minimum: 1 + type: integer + countIPv6: + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + enum: + - basic + - standard + type: string + monitoring: + properties: + enabled: + type: boolean + type: object + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + properties: + count: + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + enum: + - azure + - cilium + type: string + networkMode: + enum: + - bridge + - transparent + type: string + networkPlugin: + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + enum: + - overlay + type: string + networkPolicy: + enum: + - azure + - calico + - cilium + - none + type: string + outboundType: + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + properties: + mode: + enum: + - Auto + - Manual + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + properties: + restrictionLevel: + enum: + - ReadOnly + - Unrestricted + type: string + type: object + oidcIssuerProfile: + properties: + enabled: + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + items: + properties: + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + safeguardsProfile: + properties: + excludedNamespaces: + items: + type: string + type: array + level: + enum: + - Enforcement + - "Off" + - Warning + type: string + version: + type: string + required: + - level + type: object + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + maxItems: 10 + minItems: 0 + type: array + defender: + properties: + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + properties: + enabled: + type: boolean + type: object + nodeRestriction: + properties: + enabled: + type: boolean + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + properties: + istio: + properties: + certificateAuthority: + properties: + plugin: + properties: + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + properties: + egressGateways: + items: + properties: + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + required: + - enabled + type: object + type: array + ingressGateways: + items: + properties: + enabled: + type: boolean + mode: + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + items: + type: string + maxItems: 2 + type: array + type: object + mode: + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + properties: + name: + enum: + - Base + type: string + tier: + enum: + - Free + - Premium + - Standard + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + supportPlan: + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string + tags: + additionalProperties: + type: string + type: object + upgradeSettings: + properties: + overrideSettings: + properties: + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + enum: + - Disabled + - Enabled + type: string + enabled: + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + properties: + artifactStreamingProfile: + properties: + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + properties: + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + properties: + allowedHostPorts: + items: + properties: + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + properties: + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + properties: + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + properties: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + properties: + scale: + properties: + manual: + items: + properties: + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + properties: + enabled: + type: boolean + type: object + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + properties: + logs: + properties: + appMonitoring: + properties: + enabled: + type: boolean + type: object + containerInsights: + properties: + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: + type: string + windowsHostLogs: + properties: + enabled: + type: boolean + type: object + type: object + type: object + metrics: + properties: + appMonitoringOpenTelemetryMetrics: + properties: + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + properties: + sourceResourceId: + type: string + type: object + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + effectiveNoProxy: + items: + type: string + type: array + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + properties: + delegatedResources: + additionalProperties: + properties: + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + ingressProfile: + properties: + webAppRouting: + properties: + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + properties: + costAnalysis: + properties: + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + properties: + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + properties: + enabled: + type: boolean + ipvsConfig: + properties: + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + properties: + enabled: + type: boolean + type: object + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + properties: + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + properties: + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + properties: + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + properties: + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + properties: + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + properties: + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + safeguardsProfile: + properties: + excludedNamespaces: + items: + type: string + type: array + level: + type: string + systemExcludedNamespaces: + items: + type: string + type: array + version: + type: string + type: object + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + properties: + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + properties: + enabled: + type: boolean + type: object + nodeRestriction: + properties: + enabled: + type: boolean + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + properties: + istio: + properties: + certificateAuthority: + properties: + plugin: + properties: + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + properties: + egressGateways: + items: + properties: + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + properties: + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + type: object + sku: + properties: + name: + type: string + tier: + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + properties: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + overrideSettings: + properties: + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231102previewstorage + schema: + openAPIV3Schema: + description: Storage version of v1api20231102preview.ManagedCluster + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231102preview.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20231102preview.ManagedClusterAADProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20231102preview.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + containerInsights: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsHostLogs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + type: object + metrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoringOpenTelemetryMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + creationData: + description: Storage version of v1api20231102preview.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20231102preview.ExtendedLocation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: Storage version of v1api20231102preview.ManagedClusterIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: Storage version of v1api20231102preview.DelegatedResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object + type: + type: string + userAssignedIdentities: + items: + description: Storage version of v1api20231102preview.UserAssignedIdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20231102preview.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + ingressProfile: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + metricsProfile: + description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + networkProfile: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + description: Storage version of v1api20231102preview.NetworkMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + natGatewayProfile: + description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20231102preview.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231102preview.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231102preview.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: Storage version of v1api20231102preview.PrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + safeguardsProfile: + description: Storage version of v1api20231102preview.SafeguardsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + version: + type: string + type: object + securityProfile: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20231102preview.AzureKeyVaultKms + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: Storage version of v1api20231102preview.ServiceMeshProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: Storage version of v1api20231102preview.IstioServiceMesh + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: Storage version of v1api20231102preview.IstioCertificateAuthority + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: Storage version of v1api20231102preview.IstioComponents + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: Storage version of v1api20231102preview.IstioEgressGateway + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: Storage version of v1api20231102preview.IstioIngressGateway + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: Storage version of v1api20231102preview.ManagedClusterSKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + tags: + additionalProperties: + type: string + type: object + upgradeSettings: + description: Storage version of v1api20231102preview.ClusterUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: Storage version of v1api20231102preview.UpgradeOverrideSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20231102preview.WindowsGmsaProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231102preview.ManagedCluster_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20231102preview.ManagedClusterAADProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterAddonProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + containerInsights: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: + type: string + windowsHostLogs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + type: object + metrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoringOpenTelemetryMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20231102preview.ExtendedLocation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveNoProxy: + items: + type: string + type: array + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: Storage version of v1api20231102preview.ManagedClusterIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: Storage version of v1api20231102preview.DelegatedResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + ingressProfile: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + description: Storage version of v1api20231102preview.NetworkMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + natGatewayProfile: + description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: Storage version of v1api20231102preview.PrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + safeguardsProfile: + description: Storage version of v1api20231102preview.SafeguardsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + systemExcludedNamespaces: + items: + type: string + type: array + version: + type: string + type: object + securityProfile: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20231102preview.AzureKeyVaultKms_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: Storage version of v1api20231102preview.ServiceMeshProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: Storage version of v1api20231102preview.IstioServiceMesh_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: Storage version of v1api20231102preview.IstioCertificateAuthority_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: Storage version of v1api20231102preview.IstioComponents_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: Storage version of v1api20231102preview.IstioEgressGateway_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: Storage version of v1api20231102preview.IstioIngressGateway_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: Storage version of v1api20231102preview.ManagedClusterSKU_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: Storage version of v1api20231102preview.SystemData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.ClusterUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: Storage version of v1api20231102preview.UpgradeOverrideSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20231102preview.WindowsGmsaProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + required: + - enabled + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + maximum: 31 + minimum: 28 + type: integer + type: object + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - Gateway + - System + - User + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + enum: + - DynamicIndividual + - StaticBlock + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + enum: + - Disabled + - LocalUser + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + enum: + - Cordon + - Schedule + type: string + type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + aiToolchainOperatorProfile: + description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' + properties: + enabled: + description: 'Enabled: Indicates if AI toolchain operator enabled or not.' + type: boolean + type: object + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + subnetId: + description: |- + SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable + apiserver vnet integration. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + expander: + description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' + enum: + - least-waste + - most-pods + - priority + - random + type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + properties: + appMonitoring: + description: |- + AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics + and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + autoInstrumentation: + description: |- + AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook + to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the + application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' + type: boolean + type: object + openTelemetryLogs: + description: |- + OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and + Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' + type: integer + type: object + openTelemetryMetrics: + description: |- + OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container + Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' + type: integer + type: object + type: object + containerInsights: + description: |- + ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & + stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + properties: + disableCustomMetrics: + description: |- + DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the + default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is + false + type: boolean + disablePrometheusMetricsScraping: + description: |- + DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the + default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field + is false + type: boolean + enabled: + description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' + type: boolean + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing + Azure Monitor Container Insights Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + syslogPort: + description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' + type: integer + type: object + metrics: + description: 'Metrics: Metrics profile for the prometheus service addon' + properties: + enabled: + description: 'Enabled: Whether to enable the Prometheus collector' + type: boolean + kubeStateMetrics: + description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels + metric. + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + bootstrapProfile: + description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' + properties: + artifactSource: + description: 'ArtifactSource: The source where the artifacts are downloaded from.' + enum: + - Cache + - Direct + type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, + premium SKU and zone redundancy. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a + snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + enableNamespaceResources: + description: |- + EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed + cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as + a ARM Resource. + type: boolean + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: 'WebAppRouting: Web App Routing settings for the ingress profile.' + properties: + dnsZoneResourceReferences: + description: |- + DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only + when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS + zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + description: 'Enabled: Whether to enable Web App Routing.' + type: boolean + type: object + type: object + kind: + description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' + type: string + kubernetesVersion: + description: |- + KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades + must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> + 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced + networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + type: object + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + description: To determine if address belongs IPv4 or IPv6 family. + enum: + - IPv4 + - IPv6 + type: string + type: array + kubeProxyConfig: + description: |- + KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy + defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ + where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + properties: + enabled: + description: |- + Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by + default without these customizations). + type: boolean + ipvsConfig: + description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' + properties: + scheduler: + description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' + enum: + - LeastConnection + - RoundRobin + type: string + tcpFinTimeoutSeconds: + description: |- + TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive + integer value. + type: integer + tcpTimeoutSeconds: + description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' + type: integer + udpTimeoutSeconds: + description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' + type: integer + type: object + mode: + description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' + enum: + - IPTABLES + - IPVS + type: string + type: object + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string + clusterServiceLoadBalancerHealthProbeMode: + description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' + enum: + - ServiceNodePort + - Shared + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + maximum: 100 + minimum: 1 + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + enum: + - basic + - standard + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + enum: + - azure + - cilium + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + enum: + - bridge + - transparent + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' + enum: + - overlay + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + enum: + - azure + - calico + - cilium + - none + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + enum: + - loadBalancer + - managedNATGateway + - none + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + podLinkLocalAccess: + description: |- + PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods + with hostNetwork=false. if not specified, the default is 'IMDS'. + enum: + - IMDS + - None + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, + see https://aka.ms/aks/static-egress-gateway. + properties: + enabled: + description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' + properties: + mode: + description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' + enum: + - Auto + - Manual + type: string + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: The node resource group configuration profile.' + properties: + restrictionLevel: + description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' + enum: + - ReadOnly + - Unrestricted + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + safeguardsProfile: + description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' + properties: + excludedNamespaces: + description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' + items: + type: string + type: array + level: + description: |- + Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS + excludes via systemExcludedNamespaces + enum: + - Enforcement + - "Off" + - Warning + type: string + version: + description: 'Version: The version of constraints to use' + type: string + required: + - level + type: object + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + description: |- + CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the + Custom CA Trust feature enabled. For more information see [Custom CA Trust + Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + items: + type: string + maxItems: 10 + minItems: 0 + type: array + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + imageIntegrity: + description: |- + ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This + will not have any effect unless Azure Policy is applied to enforce image signatures. See + https://aka.ms/aks/image-integrity for how to use this feature via policy. + properties: + enabled: + description: 'Enabled: Whether to enable image integrity. The default value is false.' + type: boolean + type: object + nodeRestriction: + description: |- + NodeRestriction: [Node + Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings + for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Node Restriction' + type: boolean + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + secret: + description: 'Secret: The secret password associated with the service principal in plain text.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + enum: + - Automatic + - Base + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + enum: + - Free + - Premium + - Standard + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + version: + description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' + type: string + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' + enum: + - Disabled + - Enabled + type: string + enabled: + description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + description: Managed cluster. + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + identity: + description: 'Identity: Information of user assigned identity used by this add-on.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + type: integer + type: object + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + type: string + type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' + properties: + enabled: + description: 'Enabled: Indicates if AI toolchain operator enabled or not.' + type: boolean + type: object + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + subnetId: + description: |- + SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable + apiserver vnet integration. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + expander: + description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' + type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + properties: + appMonitoring: + description: |- + AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics + and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + autoInstrumentation: + description: |- + AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook + to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the + application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' + type: boolean + type: object + openTelemetryLogs: + description: |- + OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and + Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' + type: integer + type: object + openTelemetryMetrics: + description: |- + OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container + Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' + type: integer + type: object + type: object + containerInsights: + description: |- + ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & + stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + properties: + disableCustomMetrics: + description: |- + DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the + default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is + false + type: boolean + disablePrometheusMetricsScraping: + description: |- + DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the + default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field + is false + type: boolean + enabled: + description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' + type: boolean + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure + Monitor Container Insights Logs. + type: string + syslogPort: + description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' + type: integer + type: object + metrics: + description: 'Metrics: Metrics profile for the prometheus service addon' + properties: + enabled: + description: 'Enabled: Whether to enable the Prometheus collector' + type: boolean + kubeStateMetrics: + description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels + metric. + type: string + type: object + type: object + type: object + azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. + type: string + bootstrapProfile: + description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' + properties: + artifactSource: + description: 'ArtifactSource: The source where the artifacts are downloaded from.' + type: string + containerRegistryId: + description: |- + ContainerRegistryId: The resource Id of Azure Container Registry. The registry must have private network access, premium + SKU and zone redundancy. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a + snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentKubernetesVersion: + description: 'CurrentKubernetesVersion: The version of Kubernetes the Managed Cluster is running.' + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + type: string + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableNamespaceResources: + description: |- + EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed + cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as + a ARM Resource. + type: boolean + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + fqdn: + description: 'Fqdn: The FQDN of the master pool.' + type: string + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + effectiveNoProxy: + description: |- + EffectiveNoProxy: A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a + superset of noProxy and values injected by AKS. + items: + type: string + type: array + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' + type: string + tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' + type: string + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: 'WebAppRouting: Web App Routing settings for the ingress profile.' + properties: + dnsZoneResourceIds: + description: |- + DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web + App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must + be in the same resource group and all private DNS zones must be in the same resource group. + items: + type: string + type: array + enabled: + description: 'Enabled: Whether to enable Web App Routing.' + type: boolean + identity: + description: |- + Identity: Managed identity of the Web Application Routing add-on. This is the identity that should be granted + permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See + [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more + instructions. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' + type: string + kubernetesVersion: + description: |- + KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades + must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> + 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + type: object + type: array + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' + type: integer + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced + networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + type: object + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + description: To determine if address belongs IPv4 or IPv6 family. + type: string + type: array + kubeProxyConfig: + description: |- + KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy + defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ + where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + properties: + enabled: + description: |- + Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by + default without these customizations). + type: boolean + ipvsConfig: + description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' + properties: + scheduler: + description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' + type: string + tcpFinTimeoutSeconds: + description: |- + TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive + integer value. + type: integer + tcpTimeoutSeconds: + description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' + type: integer + udpTimeoutSeconds: + description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' + type: integer + type: object + mode: + description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' + type: string + type: object + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string + clusterServiceLoadBalancerHealthProbeMode: + description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + type: string + networkPluginMode: + description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + podLinkLocalAccess: + description: |- + PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods + with hostNetwork=false. if not specified, the default is 'IMDS'. + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, + see https://aka.ms/aks/static-egress-gateway. + properties: + enabled: + description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' + properties: + mode: + description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' + type: string + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: The node resource group configuration profile.' + properties: + restrictionLevel: + description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + provisioningInfo: + properties: + error: + description: 'Error: Pod identity assignment error (if any).' + properties: + error: + description: 'Error: Details about the error.' + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + details: + description: 'Details: A list of additional details about the error.' + items: + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: array + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: object + type: object + provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' + type: string + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + type: object + type: array + type: object + powerState: + description: 'PowerState: The Power State of the cluster.' + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' + type: string + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + id: + description: 'Id: The ID of the private link resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' + type: string + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The current provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) + type: string + safeguardsProfile: + description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' + properties: + excludedNamespaces: + description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' + items: + type: string + type: array + level: + description: |- + Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS + excludes via systemExcludedNamespaces + type: string + systemExcludedNamespaces: + description: 'SystemExcludedNamespaces: List of namespaces specified by AKS to be excluded from Safeguards' + items: + type: string + type: array + version: + description: 'Version: The version of constraints to use' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + type: string + keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + type: string + type: object + customCATrustCertificates: + description: |- + CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the + Custom CA Trust feature enabled. For more information see [Custom CA Trust + Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + items: + type: string + type: array + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. + type: string + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + imageIntegrity: + description: |- + ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This + will not have any effect unless Azure Policy is applied to enforce image signatures. See + https://aka.ms/aks/image-integrity for how to use this feature via policy. + properties: + enabled: + description: 'Enabled: Whether to enable image integrity. The default value is false.' + type: boolean + type: object + nodeRestriction: + description: |- + NodeRestriction: [Node + Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings + for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Node Restriction' + type: boolean + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + version: + description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' + type: string + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + type: string + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' + type: string + enabled: + description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240402preview.ManagedCluster + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240402preview.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20240402preview.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podIPAllocationMode: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20240402preview.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile + When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator + automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and + enables distributed inference against them. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile + Prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring + Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces + through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoInstrumentation: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation + Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument + Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + openTelemetryLogs: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects + OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + openTelemetryMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects + OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + type: object + containerInsights: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights + Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See + aka.ms/AzureMonitorContainerInsights for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableCustomMetrics: + type: boolean + disablePrometheusMetricsScraping: + type: boolean + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing + Azure Monitor Container Insights Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + syslogPort: + type: integer + type: object + metrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the prometheus service addon + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics for prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bootstrapProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterBootstrapProfile + The bootstrap profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactSource: + type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, + premium SKU and zone redundancy. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240402preview.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: |- + Storage version of v1api20240402preview.ManagedClusterIdentity + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240402preview.DelegatedResource + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + ingressProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfile + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting + Web App Routing settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kind: + type: string + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20240402preview.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20240402preview.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20240402preview.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + metricsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterMetricsProfile + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240402preview.ManagedClusterCostAnalysis + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + networkProfile: + description: |- + Storage version of v1api20240402preview.ContainerServiceNetworkProfile + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedNetworking: + description: |- + Storage version of v1api20240402preview.AdvancedNetworking + Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may + incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + observability: + description: |- + Storage version of v1api20240402preview.AdvancedNetworkingObservability + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + clusterServiceLoadBalancerHealthProbeMode: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + podLinkLocalAccess: + type: string + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile + The Static Egress Gateway addon configuration for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20240402preview.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240402preview.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240402preview.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: |- + Storage version of v1api20240402preview.PrivateLinkResource + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + safeguardsProfile: + description: |- + Storage version of v1api20240402preview.SafeguardsProfile + The Safeguards profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + version: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfile + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240402preview.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity + Image integrity related settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction + Node Restriction settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240402preview.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240402preview.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240402preview.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240402preview.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240402preview.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: |- + Storage version of v1api20240402preview.ManagedClusterSKU + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfile + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + tags: + additionalProperties: + type: string + type: object + upgradeSettings: + description: |- + Storage version of v1api20240402preview.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240402preview.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240402preview.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240402preview.ManagedCluster_STATUS + Managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20240402preview.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podIPAllocationMode: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes_STATUS + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile_STATUS + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile_STATUS + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile_STATUS + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile_STATUS + When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator + automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and + enables distributed inference against them. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile_STATUS + Prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS + Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces + through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoInstrumentation: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation_STATUS + Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument + Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + openTelemetryLogs: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs_STATUS + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects + OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + openTelemetryMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects + OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + type: object + containerInsights: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS + Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See + aka.ms/AzureMonitorContainerInsights for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableCustomMetrics: + type: boolean + disablePrometheusMetricsScraping: + type: boolean + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: + type: string + syslogPort: + type: integer + type: object + metrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the prometheus service addon + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics for prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + bootstrapProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterBootstrapProfile_STATUS + The bootstrap profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactSource: + type: string + containerRegistryId: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + eTag: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240402preview.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveNoProxy: + items: + type: string + type: array + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240402preview.ManagedClusterIdentity_STATUS + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240402preview.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240402preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + ingressProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfile_STATUS + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting_STATUS + Web App Routing settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kind: + type: string + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20240402preview.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20240402preview.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20240402preview.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterMetricsProfile_STATUS + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240402preview.ManagedClusterCostAnalysis_STATUS + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedNetworking: + description: |- + Storage version of v1api20240402preview.AdvancedNetworking_STATUS + Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may + incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + observability: + description: |- + Storage version of v1api20240402preview.AdvancedNetworkingObservability_STATUS + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + clusterServiceLoadBalancerHealthProbeMode: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + podLinkLocalAccess: + type: string + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile_STATUS + The Static Egress Gateway addon configuration for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile_STATUS + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20240402preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: |- + Storage version of v1api20240402preview.PrivateLinkResource_STATUS + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + safeguardsProfile: + description: |- + Storage version of v1api20240402preview.SafeguardsProfile_STATUS + The Safeguards profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + systemExcludedNamespaces: + items: + type: string + type: array + version: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240402preview.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity_STATUS + Image integrity related settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction_STATUS + Node Restriction settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240402preview.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240402preview.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240402preview.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240402preview.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240402preview.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: |- + Storage version of v1api20240402preview.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: |- + Storage version of v1api20240402preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240402preview.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240402preview.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + required: + - enabled + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + enum: + - least-waste + - most-pods + - priority + - random + type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + description: |- + IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: |- + WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + properties: + dnsZoneResourceReferences: + description: |- + DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only + when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all + public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + description: 'Enabled: Whether to enable the Application Routing add-on.' + type: boolean + type: object + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + more information see aka.ms/aksadvancednetworking. + properties: + enabled: + description: |- + Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + not specified, the default is false. + type: boolean + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + security: + description: 'Security: Security profile to enable security features on cilium based cluster.' + properties: + enabled: + description: |- + Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + cilium based clusters. If not specified, the default is false. + type: boolean + type: object + type: object + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + enum: + - IPv4 + - IPv6 + type: string + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + maximum: 100 + minimum: 1 + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + enum: + - basic + - standard + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + enum: + - azure + - cilium + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + enum: + - bridge + - transparent + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + enum: + - overlay + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + enum: + - azure + - calico + - cilium + - none + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' + properties: + restrictionLevel: + description: |- + RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + 'Unrestricted' + enum: + - ReadOnly + - Unrestricted + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The object ID of the user assigned identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + enum: + - Disabled + - Enabled + type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + secret: + description: 'Secret: The secret password associated with the service principal in plain text.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + enum: + - Base + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + enum: + - Free + - Premium + - Standard + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + description: Managed cluster. + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + identity: + description: 'Identity: Information of user assigned identity used by this add-on.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: array + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. + type: string + type: object + type: object + type: object + azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + description: |- + CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + exactly equal to it. If kubernetesVersion was , this field will contain the full + version being used. + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + type: string + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + fqdn: + description: 'Fqdn: The FQDN of the master pool.' + type: string + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' + type: string + tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' + type: string + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + description: |- + IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: |- + WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + properties: + dnsZoneResourceIds: + description: |- + DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when + Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public + DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + type: string + type: array + enabled: + description: 'Enabled: Whether to enable the Application Routing add-on.' + type: boolean + identity: + description: |- + Identity: Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, + for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview + of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + type: object + type: array + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' + type: integer + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + more information see aka.ms/aksadvancednetworking. + properties: + enabled: + description: |- + Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + not specified, the default is false. + type: boolean + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + security: + description: 'Security: Security profile to enable security features on cilium based cluster.' + properties: + enabled: + description: |- + Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + cilium based clusters. If not specified, the default is false. + type: boolean + type: object + type: object + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + type: string + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' + properties: + restrictionLevel: + description: |- + RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + 'Unrestricted' + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + type: string + type: object + podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + provisioningInfo: + properties: + error: + description: 'Error: Pod identity assignment error (if any).' + properties: + error: + description: 'Error: Details about the error.' + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + details: + description: 'Details: A list of additional details about the error.' + items: + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: array + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: object + type: object + provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' + type: string + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + type: object + type: array + type: object + powerState: + description: 'PowerState: The Power State of the cluster.' + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' + type: string + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' + items: + description: A private link resource + properties: + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + id: + description: 'Id: The ID of the private link resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' + type: string + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' + items: + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The current provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) + type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + type: string + keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + type: string + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. + type: string + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + type: object + sku: + description: 'Sku: The managed cluster SKU.' + properties: + name: + description: 'Name: The name of a managed cluster SKU.' + type: string + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + type: string + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240901.ManagedCluster + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240901.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20240901.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20240901.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20240901.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfile + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240901.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20240901.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: |- + Storage version of v1api20240901.ManagedClusterIdentity + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240901.DelegatedResource + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240901.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20240901.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + ingressProfile: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfile + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting + Application Routing add-on settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20240901.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20240901.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20240901.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + metricsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterMetricsProfile + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240901.ManagedClusterCostAnalysis + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + networkProfile: + description: |- + Storage version of v1api20240901.ContainerServiceNetworkProfile + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedNetworking: + description: |- + Storage version of v1api20240901.AdvancedNetworking + Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see + aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + observability: + description: |- + Storage version of v1api20240901.AdvancedNetworkingObservability + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + security: + description: |- + Storage version of v1api20240901.AdvancedNetworkingSecurity + Security profile to enable security features on cilium based cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20240901.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240901.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240901.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20240901.UserAssignedIdentity + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: |- + Storage version of v1api20240901.PrivateLinkResource + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfile + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240901.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240901.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240901.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240901.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240901.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240901.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240901.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240901.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20240901.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: |- + Storage version of v1api20240901.ManagedClusterSKU + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfile + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + tags: + additionalProperties: + type: string + type: object + upgradeSettings: + description: |- + Storage version of v1api20240901.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240901.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240901.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240901.ManagedCluster_STATUS + Managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20240901.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: |- + Storage version of v1api20240901.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfile_STATUS + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + eTag: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240901.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20240901.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240901.ManagedClusterIdentity_STATUS + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240901.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240901.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + ingressProfile: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfile_STATUS + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting_STATUS + Application Routing add-on settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20240901.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20240901.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20240901.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterMetricsProfile_STATUS + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240901.ManagedClusterCostAnalysis_STATUS + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedNetworking: + description: |- + Storage version of v1api20240901.AdvancedNetworking_STATUS + Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see + aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + observability: + description: |- + Storage version of v1api20240901.AdvancedNetworkingObservability_STATUS + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + security: + description: |- + Storage version of v1api20240901.AdvancedNetworkingSecurity_STATUS + Security profile to enable security features on cilium based cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile_STATUS + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20240901.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: |- + Storage version of v1api20240901.PrivateLinkResource_STATUS + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240901.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240901.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240901.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240901.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240901.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240901.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240901.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240901.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20240901.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: |- + Storage version of v1api20240901.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: |- + Storage version of v1api20240901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240901.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240901.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: managedclustersagentpools.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: ManagedClustersAgentPool + listKind: ManagedClustersAgentPoolList + plural: managedclustersagentpools + singular: managedclustersagentpool + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixIDReference: + description: |- + NodePublicIPPrefixIDReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes + version. The node pool version must have the same major version as the control plane. The node pool minor version must + be within two minor versions of the control plane version. The node pool version cannot be greater than the control + plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' + enum: + - CBLMariner + - Ubuntu + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetIDReference: + description: |- + PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more + details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + maxSurge: + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetIDReference: + description: |- + VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes + version. The node pool version must have the same major version as the control plane. The node pool minor version must + be within two minor versions of the control plane version. The node pool version cannot be greater than the control + plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: 'PowerState: Describes whether the Agent Pool is Running or Stopped' + properties: + code: + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + maxSurge: + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: |- + NodePublicIPPrefixIDReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20210501.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetIDReference: + description: |- + PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more + details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetIDReference: + description: |- + VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210501.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + maxSurge: + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + maxSurge: + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230201.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230201.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20230201.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20230201.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230201.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231001.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231001.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20231001.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20231001.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20231001.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20231001.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231001.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20231001.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20231001.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231102preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + items: + properties: + portEnd: + maximum: 65535 + minimum: 1 + type: integer + portStart: + maximum: 65535 + minimum: 1 + type: integer + protocol: + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + properties: + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + enum: + - Disabled + - LocalUser + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + maximum: 30 + minimum: 0 + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + properties: + manual: + items: + properties: + count: + maximum: 1000 + minimum: 0 + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + type: boolean + type: object + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + items: + properties: + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + properties: + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + properties: + manual: + items: + properties: + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231102previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231102preview.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231102preview.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20231102preview.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20231102preview.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231102preview.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + maximum: 31 + minimum: 28 + type: integer + type: object + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - Gateway + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + enum: + - DynamicIndividual + - StaticBlock + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + enum: + - Disabled + - LocalUser + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + enum: + - Cordon + - Schedule + type: string + type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + type: integer + type: object + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + type: string + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + type: string + type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240402preview.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240402preview.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20240402preview.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIPAllocationMode: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20240402preview.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240402preview.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podIPAllocationMode: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes_STATUS + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile_STATUS + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile_STATUS + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile_STATUS + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240901.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240901.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20240901.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20240901.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240901.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: managedenvironments.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: ManagedEnvironment + listKind: ManagedEnvironmentList + plural: managedenvironments + singular: managedenvironment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' + type: string + sharedKey: + description: 'SharedKey: Log analytics customer key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificatePassword: + description: 'CertificatePassword: Certificate password' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateValue: + description: 'CertificateValue: PFX or PEM blob' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + type: object + daprAIConnectionString: + description: |- + DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' + properties: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: + description: |- + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string + type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + required: + - name + - workloadProfileType + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + required: + - location + - owner + type: object + status: + description: An environment for hosting container apps + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' + type: string + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subjectName: + description: 'SubjectName: Subject name of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: object + daprConfiguration: + description: 'DaprConfiguration: The configuration of Dapr component.' + properties: + version: + description: 'Version: The version of Dapr' + type: string + type: object + defaultDomain: + description: 'DefaultDomain: Default Domain Name for the cluster' + type: string + deploymentErrors: + description: 'DeploymentErrors: Any errors that occurred during deployment or deployment validation' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the Environment.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kedaConfiguration: + description: 'KedaConfiguration: The configuration of Keda component.' + properties: + version: + description: 'Version: The version of Keda' + type: string + type: object + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' + properties: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the Environment.' + type: string + staticIp: + description: 'StaticIp: Static IP of the Environment' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: + description: |- + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetId: + description: |- + InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + IP ranges. + type: string + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string + type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.ManagedEnvironment + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2024-03-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.ManagedEnvironment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20240301.AppLogsConfiguration + Configuration of application logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20240301.LogAnalyticsConfiguration + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + sharedKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: |- + Storage version of v1api20240301.CustomDomainConfiguration + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + dnsSuffix: + type: string + type: object + daprAIConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + infrastructureResourceGroup: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.ManagedEnvironmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20240301.Mtls + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + vnetConfiguration: + description: |- + Storage version of v1api20240301.VnetConfiguration + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: + type: string + type: object + workloadProfiles: + items: + description: |- + Storage version of v1api20240301.WorkloadProfile + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.ManagedEnvironment_STATUS + An environment for hosting container apps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20240301.AppLogsConfiguration_STATUS + Configuration of application logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20240301.LogAnalyticsConfiguration_STATUS + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: |- + Storage version of v1api20240301.CustomDomainConfiguration_STATUS + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customDomainVerificationId: + type: string + dnsSuffix: + type: string + expirationDate: + type: string + subjectName: + type: string + thumbprint: + type: string + type: object + daprConfiguration: + description: |- + Storage version of v1api20240301.DaprConfiguration_STATUS + Configuration properties Dapr component + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + defaultDomain: + type: string + deploymentErrors: + type: string + eventStreamEndpoint: + type: string + id: + type: string + infrastructureResourceGroup: + type: string + kedaConfiguration: + description: |- + Storage version of v1api20240301.KedaConfiguration_STATUS + Configuration properties Keda component + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + kind: + type: string + location: + type: string + name: + type: string + peerAuthentication: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20240301.Mtls_STATUS + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + provisioningState: + type: string + staticIp: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + vnetConfiguration: + description: |- + Storage version of v1api20240301.VnetConfiguration_STATUS + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetId: + type: string + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: + type: string + type: object + workloadProfiles: + items: + description: |- + Storage version of v1api20240301.WorkloadProfile_STATUS + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' + type: string + sharedKey: + description: 'SharedKey: Log analytics customer key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificateKeyVaultProperties: + description: 'CertificateKeyVaultProperties: Certificate stored in Azure Key Vault.' + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: URL pointing to the Azure Key Vault secret that holds the certificate.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + type: object + certificatePassword: + description: 'CertificatePassword: Certificate password' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateValue: + description: 'CertificateValue: PFX or PEM blob' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + type: object + daprAIConnectionString: + description: |- + DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: Managed identities for the Managed Environment to interact with other Azure services without maintaining any + secrets or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' + properties: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: + description: |- + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string + type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + required: + - name + - workloadProfileType + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + required: + - location + - owner + type: object + status: + description: An environment for hosting container apps + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' + type: string + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificateKeyVaultProperties: + description: 'CertificateKeyVaultProperties: Certificate stored in Azure Key Vault.' + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: URL pointing to the Azure Key Vault secret that holds the certificate.' + type: string + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subjectName: + description: 'SubjectName: Subject name of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: object + daprConfiguration: + description: 'DaprConfiguration: The configuration of Dapr component.' + properties: + version: + description: 'Version: The version of Dapr' + type: string + type: object + defaultDomain: + description: 'DefaultDomain: Default Domain Name for the cluster' + type: string + deploymentErrors: + description: 'DeploymentErrors: Any errors that occurred during deployment or deployment validation' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the Environment.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: Managed identities for the Managed Environment to interact with other Azure services without maintaining any + secrets or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kedaConfiguration: + description: 'KedaConfiguration: The configuration of Keda component.' + properties: + version: + description: 'Version: The version of Keda' + type: string + type: object + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' + properties: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the Environment.' + type: string + staticIp: + description: 'StaticIp: Static IP of the Environment' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: + description: |- + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetId: + description: |- + InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + IP ranges. + type: string + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string + type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.ManagedEnvironment + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/ContainerApps/stable/2025-01-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.ManagedEnvironment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20250101.AppLogsConfiguration + Configuration of application logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20250101.LogAnalyticsConfiguration + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + sharedKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: |- + Storage version of v1api20250101.CustomDomainConfiguration + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKeyVaultProperties: + description: |- + Storage version of v1api20250101.CertificateKeyVaultProperties + Properties for a certificate stored in a Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + keyVaultUrl: + type: string + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + dnsSuffix: + type: string + type: object + daprAIConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + infrastructureResourceGroup: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250101.ManagedEnvironmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerAuthentication_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20250101.Mtls + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + vnetConfiguration: + description: |- + Storage version of v1api20250101.VnetConfiguration + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: + type: string + type: object + workloadProfiles: + items: + description: |- + Storage version of v1api20250101.WorkloadProfile + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250101.ManagedEnvironment_STATUS + An environment for hosting container apps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20250101.AppLogsConfiguration_STATUS + Configuration of application logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20250101.LogAnalyticsConfiguration_STATUS + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: |- + Storage version of v1api20250101.CustomDomainConfiguration_STATUS + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKeyVaultProperties: + description: |- + Storage version of v1api20250101.CertificateKeyVaultProperties_STATUS + Properties for a certificate stored in a Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + type: object + customDomainVerificationId: + type: string + dnsSuffix: + type: string + expirationDate: + type: string + subjectName: + type: string + thumbprint: + type: string + type: object + daprConfiguration: + description: |- + Storage version of v1api20250101.DaprConfiguration_STATUS + Configuration properties Dapr component + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + defaultDomain: + type: string + deploymentErrors: + type: string + eventStreamEndpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + infrastructureResourceGroup: + type: string + kedaConfiguration: + description: |- + Storage version of v1api20250101.KedaConfiguration_STATUS + Configuration properties Keda component + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: + type: string + type: object + kind: + type: string + location: + type: string + name: + type: string + peerAuthentication: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20250101.Mtls_STATUS + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + provisioningState: + type: string + staticIp: + type: string + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + vnetConfiguration: + description: |- + Storage version of v1api20250101.VnetConfiguration_STATUS + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetId: + type: string + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: + type: string + type: object + workloadProfiles: + items: + description: |- + Storage version of v1api20250101.WorkloadProfile_STATUS + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: metricalerts.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: MetricAlert + listKind: MetricAlertList + plural: metricalerts + singular: metricalert + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: |- + Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is + resolved. + items: + description: An alert action. + properties: + actionGroupId: + description: 'ActionGroupId: the id of the action group to use.' + type: string + actionGroupReference: + description: 'ActionGroupReference: the id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webHookProperties: + additionalProperties: + type: string + description: |- + WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as + input to the webhook. + type: object + type: object + type: array + autoMitigate: + description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + criteria: + description: 'Criteria: defines the specific alert criteria information.' + properties: + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' + items: + properties: + dynamicThresholdCriterion: + description: 'Dynamic: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to + the metric series pattern. + enum: + - High + - Low + - Medium + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - DynamicThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. + type: number + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. + type: number + required: + - minFailingPeriodsToAlert + - numberOfEvaluationPeriods + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format) + type: string + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: The operator used to compare the metric value against the threshold.' + enum: + - GreaterOrLessThan + - GreaterThan + - LessThan + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - alertSensitivity + - criterionType + - failingPeriods + - metricName + - name + - operator + - timeAggregation + type: object + staticThresholdCriterion: + description: 'Static: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - criterionType + - metricName + - name + - operator + - threshold + - timeAggregation + type: object + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria + type: string + required: + - odata.type + type: object + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: The list of metric criteria for this ''all of'' operation.' + items: + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - criterionType + - metricName + - name + - operator + - threshold + - timeAggregation + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria + type: string + required: + - odata.type + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentReference: + description: 'ComponentReference: The Application Insights resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + failedLocationCount: + description: 'FailedLocationCount: The number of failed locations.' + type: number + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria + type: string + webTestId: + description: 'WebTestId: The Application Insights web test Id.' + type: string + required: + - componentReference + - failedLocationCount + - odata.type + - webTestId + type: object + type: object + description: + description: 'Description: the description of the metric alert that will be included in the alert email.' + type: string + enabled: + description: 'Enabled: the flag that indicates whether the metric alert is enabled.' + type: boolean + evaluationFrequency: + description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + description: |- + ScopesReferences: the list of resource id's that this metric alert is scoped to. You cannot change the scope of a metric + rule based on logs. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + description: 'Severity: Alert severity {0, 1, 2, 3, 4}' + type: integer + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + targetResourceRegion: + description: |- + TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope + contains a subscription, resource group, or more than one resource. + type: string + targetResourceType: + description: |- + TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the + scope contains a subscription, resource group, or more than one resource. + type: string + windowSize: + description: |- + WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the + threshold. + type: string + required: + - criteria + - enabled + - evaluationFrequency + - location + - owner + - scopesReferences + - severity + - windowSize + type: object + status: + properties: + actions: + description: |- + Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is + resolved. + items: + description: An alert action. + properties: + actionGroupId: + description: 'ActionGroupId: the id of the action group to use.' + type: string + webHookProperties: + additionalProperties: + type: string + description: |- + WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as + input to the webhook. + type: object + type: object + type: array + autoMitigate: + description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + criteria: + description: 'Criteria: defines the specific alert criteria information.' + properties: + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' + items: + properties: + dynamicThresholdCriterion: + description: 'Dynamic: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to + the metric series pattern. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. + type: number + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. + type: number + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format) + type: string + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: The operator used to compare the metric value against the threshold.' + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + type: string + type: object + staticThresholdCriterion: + description: 'Static: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + type: string + type: object + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string + type: object + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: The list of metric criteria for this ''all of'' operation.' + items: + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + type: string + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentId: + description: 'ComponentId: The Application Insights resource Id.' + type: string + failedLocationCount: + description: 'FailedLocationCount: The number of failed locations.' + type: number + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string + webTestId: + description: 'WebTestId: The Application Insights web test Id.' + type: string + type: object + type: object + description: + description: 'Description: the description of the metric alert that will be included in the alert email.' + type: string + enabled: + description: 'Enabled: the flag that indicates whether the metric alert is enabled.' + type: boolean + evaluationFrequency: + description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' + type: string + id: + description: 'Id: Azure resource Id' + type: string + isMigrated: + description: 'IsMigrated: the value indicating whether this alert rule is migrated.' + type: boolean + lastUpdatedTime: + description: 'LastUpdatedTime: Last time the rule was updated in ISO8601 format.' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + scopes: + description: |- + Scopes: the list of resource id's that this metric alert is scoped to. You cannot change the scope of a metric rule + based on logs. + items: + type: string + type: array + severity: + description: 'Severity: Alert severity {0, 1, 2, 3, 4}' + type: integer + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + targetResourceRegion: + description: |- + TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope + contains a subscription, resource group, or more than one resource. + type: string + targetResourceType: + description: |- + TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the + scope contains a subscription, resource group, or more than one resource. + type: string + type: + description: 'Type: Azure resource type' + type: string + windowSize: + description: |- + WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the + threshold. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180301.MetricAlert + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180301.MetricAlert_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20180301.MetricAlertAction + An alert action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + actionGroupReference: + description: 'ActionGroupReference: the id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webHookProperties: + additionalProperties: + type: string + type: object + type: object + type: array + autoMitigate: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + criteria: + description: Storage version of v1api20180301.MetricAlertCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MultiMetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicThresholdCriterion: + description: Storage version of v1api20180301.DynamicMetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + Storage version of v1api20180301.DynamicThresholdFailingPeriods + The minimum number of violations required within the selected lookback time window required to raise an alert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: number + numberOfEvaluationPeriods: + type: number + type: object + ignoreDataBefore: + type: string + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + timeAggregation: + type: string + type: object + staticThresholdCriterion: + description: Storage version of v1api20180301.MetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: + type: string + type: object + type: object + type: array + odata.type: + type: string + type: object + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MetricCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + odata.type: + type: string + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentReference: + description: 'ComponentReference: The Application Insights resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + failedLocationCount: + type: number + odata.type: + type: string + webTestId: + type: string + required: + - componentReference + type: object + type: object + description: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180301.MetricAlertOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + type: integer + tags: + additionalProperties: + type: string + type: object + targetResourceRegion: + type: string + targetResourceType: + type: string + windowSize: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20180301.MetricAlert_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20180301.MetricAlertAction_STATUS + An alert action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + webHookProperties: + additionalProperties: + type: string + type: object + type: object + type: array + autoMitigate: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + criteria: + description: Storage version of v1api20180301.MetricAlertCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MultiMetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicThresholdCriterion: + description: Storage version of v1api20180301.DynamicMetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + Storage version of v1api20180301.DynamicThresholdFailingPeriods_STATUS + The minimum number of violations required within the selected lookback time window required to raise an alert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: number + numberOfEvaluationPeriods: + type: number + type: object + ignoreDataBefore: + type: string + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + timeAggregation: + type: string + type: object + staticThresholdCriterion: + description: Storage version of v1api20180301.MetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: + type: string + type: object + type: object + type: array + odata.type: + type: string + type: object + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + odata.type: + type: string + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentId: + type: string + failedLocationCount: + type: number + odata.type: + type: string + webTestId: + type: string + type: object + type: object + description: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + id: + type: string + isMigrated: + type: boolean + lastUpdatedTime: + type: string + location: + type: string + name: + type: string + scopes: + items: + type: string + type: array + severity: + type: integer + tags: + additionalProperties: + type: string + type: object + targetResourceRegion: + type: string + targetResourceType: + type: string + type: + type: string + windowSize: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongoclusters.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongoCluster + listKind: MongoClusterList + plural: mongoclusters + singular: mongocluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 40 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + administrator: + description: 'Administrator: The local administrator properties for the mongo cluster.' + properties: + password: + description: 'Password: The administrator password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + userName: + description: 'UserName: The administrator user name.' + type: string + type: object + compute: + description: 'Compute: The compute properties of the mongo cluster.' + properties: + tier: + description: |- + Tier: The compute tier to assign to the cluster, where each tier maps to a virtual-core and memory size. Example values: + 'M30', 'M40'. + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a mongo cluster.' + enum: + - Default + - GeoReplica + - PointInTimeRestore + - Replica + type: string + highAvailability: + description: 'HighAvailability: The high availability properties of the mongo cluster.' + properties: + targetMode: + description: 'TargetMode: The target high availability mode requested for the cluster.' + enum: + - Disabled + - SameZone + - ZoneRedundantPreferred + type: string + type: object + previewFeatures: + description: 'PreviewFeatures: List of private endpoint connections.' + items: + description: Preview features that can be enabled on a mongo cluster. + enum: + - GeoReplicas + type: string + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this mongo cluster.' + enum: + - Disabled + - Enabled + type: string + replicaParameters: + description: 'ReplicaParameters: The parameters to create a replica mongo cluster.' + properties: + sourceLocation: + description: 'SourceLocation: The location of the source cluster' + type: string + sourceResourceReference: + description: 'SourceResourceReference: The id of the replication source cluster.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceLocation + - sourceResourceReference + type: object + restoreParameters: + description: 'RestoreParameters: The parameters to create a point-in-time restore mongo cluster.' + properties: + pointInTimeUTC: + description: 'PointInTimeUTC: UTC point in time to restore a mongo cluster' + type: string + sourceResourceReference: + description: 'SourceResourceReference: Resource ID to locate the source cluster to restore' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serverVersion: + description: 'ServerVersion: The Mongo DB server version. Defaults to the latest available version if not specified.' + type: string + sharding: + description: 'Sharding: The sharding properties of the mongo cluster.' + properties: + shardCount: + description: 'ShardCount: Number of shards to provision on the cluster.' + type: integer + type: object + storage: + description: 'Storage: The storage properties of the mongo cluster.' + properties: + sizeGb: + description: 'SizeGb: The size of the data disk assigned to each server.' + type: integer + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Represents a mongo cluster resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + administrator: + description: 'Administrator: The local administrator properties for the mongo cluster.' + properties: + userName: + description: 'UserName: The administrator user name.' + type: string + type: object + backup: + description: 'Backup: The backup properties of the mongo cluster.' + properties: + earliestRestoreTime: + description: 'EarliestRestoreTime: Earliest restore timestamp in UTC ISO8601 format.' + type: string + type: object + clusterStatus: + description: 'ClusterStatus: The status of the mongo cluster.' + type: string + compute: + description: 'Compute: The compute properties of the mongo cluster.' + properties: + tier: + description: |- + Tier: The compute tier to assign to the cluster, where each tier maps to a virtual-core and memory size. Example values: + 'M30', 'M40'. + type: string + type: object + connectionString: + description: 'ConnectionString: The default mongo connection string for the cluster.' + type: string + createMode: + description: 'CreateMode: The mode to create a mongo cluster.' + type: string + highAvailability: + description: 'HighAvailability: The high availability properties of the mongo cluster.' + properties: + targetMode: + description: 'TargetMode: The target high availability mode requested for the cluster.' + type: string + type: object + infrastructureVersion: + description: 'InfrastructureVersion: The infrastructure version the cluster is provisioned on.' + type: string + previewFeatures: + description: 'PreviewFeatures: List of private endpoint connections.' + items: + description: Preview features that can be enabled on a mongo cluster. + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the mongo cluster.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this mongo cluster.' + type: string + replica: + description: 'Replica: The replication properties for the mongo cluster' + properties: + replicationState: + description: 'ReplicationState: The replication link state of the replica cluster.' + type: string + role: + description: 'Role: The replication role of the cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: The resource id the source cluster for the replica cluster.' + type: string + type: object + replicaParameters: + description: 'ReplicaParameters: The parameters to create a replica mongo cluster.' + properties: + sourceLocation: + description: 'SourceLocation: The location of the source cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: The id of the replication source cluster.' + type: string + type: object + restoreParameters: + description: 'RestoreParameters: The parameters to create a point-in-time restore mongo cluster.' + properties: + pointInTimeUTC: + description: 'PointInTimeUTC: UTC point in time to restore a mongo cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: Resource ID to locate the source cluster to restore' + type: string + type: object + serverVersion: + description: 'ServerVersion: The Mongo DB server version. Defaults to the latest available version if not specified.' + type: string + sharding: + description: 'Sharding: The sharding properties of the mongo cluster.' + properties: + shardCount: + description: 'ShardCount: Number of shards to provision on the cluster.' + type: integer + type: object + storage: + description: 'Storage: The storage properties of the mongo cluster.' + properties: + sizeGb: + description: 'SizeGb: The size of the data disk assigned to each server.' + type: integer + type: object + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240701.MongoCluster + Generator information: + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/MongoCluster/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240701.MongoCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240701.MongoClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20240701.MongoClusterProperties + The properties of a mongo cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administrator: + description: |- + Storage version of v1api20240701.AdministratorProperties + The local administrator login properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + userName: + type: string + type: object + compute: + description: |- + Storage version of v1api20240701.ComputeProperties + The compute properties of the cluster. This includes the virtual-cores/memory and scaling options applied to servers in + the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20240701.HighAvailabilityProperties + The high availability properties of the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetMode: + type: string + type: object + previewFeatures: + items: + type: string + type: array + publicNetworkAccess: + type: string + replicaParameters: + description: |- + Storage version of v1api20240701.MongoClusterReplicaParameters + Parameters used for replica operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceLocation: + type: string + sourceResourceReference: + description: 'SourceResourceReference: The id of the replication source cluster.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceResourceReference + type: object + restoreParameters: + description: |- + Storage version of v1api20240701.MongoClusterRestoreParameters + Parameters used for restore operations + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + pointInTimeUTC: + type: string + sourceResourceReference: + description: 'SourceResourceReference: Resource ID to locate the source cluster to restore' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serverVersion: + type: string + sharding: + description: |- + Storage version of v1api20240701.ShardingProperties + The sharding properties of the cluster. This includes the shard count and scaling options for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + shardCount: + type: integer + type: object + storage: + description: |- + Storage version of v1api20240701.StorageProperties + The storage properties of the cluster. This includes the data storage size and scaling applied to servers in the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sizeGb: + type: integer + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240701.MongoCluster_STATUS + Represents a mongo cluster resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20240701.MongoClusterProperties_STATUS + The properties of a mongo cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administrator: + description: |- + Storage version of v1api20240701.AdministratorProperties_STATUS + The local administrator login properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userName: + type: string + type: object + backup: + description: |- + Storage version of v1api20240701.BackupProperties_STATUS + The backup properties of the cluster. This includes the earliest restore time and retention settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + earliestRestoreTime: + type: string + type: object + clusterStatus: + type: string + compute: + description: |- + Storage version of v1api20240701.ComputeProperties_STATUS + The compute properties of the cluster. This includes the virtual-cores/memory and scaling options applied to servers in + the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + connectionString: + type: string + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20240701.HighAvailabilityProperties_STATUS + The high availability properties of the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetMode: + type: string + type: object + infrastructureVersion: + type: string + previewFeatures: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240701.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + replica: + description: |- + Storage version of v1api20240701.ReplicationProperties_STATUS + Replica properties of the mongo cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + replicationState: + type: string + role: + type: string + sourceResourceId: + type: string + type: object + replicaParameters: + description: |- + Storage version of v1api20240701.MongoClusterReplicaParameters_STATUS + Parameters used for replica operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceLocation: + type: string + sourceResourceId: + type: string + type: object + restoreParameters: + description: |- + Storage version of v1api20240701.MongoClusterRestoreParameters_STATUS + Parameters used for restore operations + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + pointInTimeUTC: + type: string + sourceResourceId: + type: string + type: object + serverVersion: + type: string + sharding: + description: |- + Storage version of v1api20240701.ShardingProperties_STATUS + The sharding properties of the cluster. This includes the shard count and scaling options for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + shardCount: + type: integer + type: object + storage: + description: |- + Storage version of v1api20240701.StorageProperties_STATUS + The storage properties of the cluster. This includes the data storage size and scaling applied to servers in the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sizeGb: + type: integer + type: object + type: object + systemData: + description: |- + Storage version of v1api20240701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbdatabasecollections.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseCollection + listKind: MongodbDatabaseCollectionList + plural: mongodbdatabasecollections + singular: mongodbdatabasecollection + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseCollection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20210515.MongoIndex + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20210515.MongoIndexKeys + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20210515.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20210515.MongoDBCollectionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20210515.MongoIndex_STATUS + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20210515.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20210515.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseCollection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20231115.MongoIndex + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20231115.MongoIndexKeys + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20231115.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabaseCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.MongoDBCollectionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20231115.MongoIndex_STATUS + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20231115.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20231115.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseCollection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20240815.MongoIndex + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20240815.MongoIndexKeys + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20240815.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20240815.MongoDBCollectionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20240815.MongoIndex_STATUS + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20240815.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20240815.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + shardKey: + additionalProperties: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbdatabasecollectionthroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseCollectionThroughputSetting + listKind: MongodbDatabaseCollectionThroughputSettingList + plural: mongodbdatabasecollectionthroughputsettings + singular: mongodbdatabasecollectionthroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + minimumThroughput: + type: string + offerReplacePending: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbdatabases.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabase + listKind: MongodbDatabaseList + plural: mongodbdatabases + singular: mongodbdatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20210515.MongoDBDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.MongoDBDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20240815.MongoDBDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbdatabasethroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseThroughputSetting + listKind: MongodbDatabaseThroughputSettingList + plural: mongodbdatabasethroughputsettings + singular: mongodbdatabasethroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + minimumThroughput: + type: string + offerReplacePending: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbroledefinitions.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbRoleDefinition + listKind: MongodbRoleDefinitionList + plural: mongodbroledefinitions + singular: mongodbroledefinition + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this Role Definition.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privileges: + description: |- + Privileges: A set of privileges contained by the Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as + privilege. + items: + description: The set of data plane operations permitted through this Role Definition. + properties: + actions: + description: 'Actions: An array of actions that are allowed.' + items: + type: string + type: array + resource: + description: 'Resource: An Azure Cosmos DB Mongo DB Resource.' + properties: + collection: + description: 'Collection: The collection name the role is applied.' + type: string + db: + description: 'Db: The database name the role is applied.' + type: string + type: object + type: object + type: array + roleName: + description: 'RoleName: A user-friendly name for the Role Definition. Must be unique for the database account.' + type: string + roles: + description: 'Roles: The set of roles inherited by this Role Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' + type: string + role: + description: 'Role: The role name.' + type: string + type: object + type: array + type: + description: 'Type: Indicates whether the Role Definition was built-in or user created.' + enum: + - BuiltInRole + - CustomRole + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this Role Definition.' + type: string + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + privileges: + description: |- + Privileges: A set of privileges contained by the Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as + privilege. + items: + description: The set of data plane operations permitted through this Role Definition. + properties: + actions: + description: 'Actions: An array of actions that are allowed.' + items: + type: string + type: array + resource: + description: 'Resource: An Azure Cosmos DB Mongo DB Resource.' + properties: + collection: + description: 'Collection: The collection name the role is applied.' + type: string + db: + description: 'Db: The database name the role is applied.' + type: string + type: object + type: object + type: array + roleName: + description: 'RoleName: A user-friendly name for the Role Definition. Must be unique for the database account.' + type: string + roles: + description: 'Roles: The set of roles inherited by this Role Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' + type: string + role: + description: 'Role: The role name.' + type: string + type: object + type: array + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbRoleDefinition + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbRoleDefinition_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databaseName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbRoleDefinitionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privileges: + items: + description: |- + Storage version of v1api20240815.Privilege + The set of data plane operations permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + resource: + description: Storage version of v1api20240815.Privilege_Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collection: + type: string + db: + type: string + type: object + type: object + type: array + roleName: + type: string + roles: + items: + description: |- + Storage version of v1api20240815.Role + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + type: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbRoleDefinition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databaseName: + type: string + id: + type: string + name: + type: string + privileges: + items: + description: |- + Storage version of v1api20240815.Privilege_STATUS + The set of data plane operations permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + resource: + description: Storage version of v1api20240815.Privilege_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collection: + type: string + db: + type: string + type: object + type: object + type: array + roleName: + type: string + roles: + items: + description: |- + Storage version of v1api20240815.Role_STATUS + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: mongodbuserdefinitions.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbUserDefinition + listKind: MongodbUserDefinitionList + plural: mongodbuserdefinitions + singular: mongodbuserdefinition + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customData: + description: 'CustomData: A custom definition for the USer Definition.' + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this User Definition.' + type: string + mechanisms: + description: 'Mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + password: + description: 'Password: The password for User Definition. Response does not contain user password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roles: + description: 'Roles: The set of roles inherited by the User Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' + type: string + role: + description: 'Role: The role name.' + type: string + type: object + type: array + userName: + description: 'UserName: The user name for User Definition.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customData: + description: 'CustomData: A custom definition for the USer Definition.' + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this User Definition.' + type: string + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + mechanisms: + description: 'Mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + roles: + description: 'Roles: The set of roles inherited by the User Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' + type: string + role: + description: 'Role: The role name.' + type: string + type: object + type: array + type: + description: 'Type: The type of Azure resource.' + type: string + userName: + description: 'UserName: The user name for User Definition.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbUserDefinition + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbUserDefinition_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customData: + type: string + databaseName: + type: string + mechanisms: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbUserDefinitionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roles: + items: + description: |- + Storage version of v1api20240815.Role + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + userName: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbUserDefinition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customData: + type: string + databaseName: + type: string + id: + type: string + mechanisms: + type: string + name: + type: string + roles: + items: + description: |- + Storage version of v1api20240815.Role_STATUS + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + type: + type: string + userName: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namedvalues.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: NamedValue + listKind: NamedValueList + plural: namedvalues + singular: namedvalue + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9-._]+$ + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used + to access key vault secret. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + maxItems: 32 + type: array + value: + description: |- + 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. + maxLength: 4096 + type: string + required: + - displayName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + lastStatus: + description: 'LastStatus: Last time sync and refresh status of secret from key vault.' + properties: + code: + description: 'Code: Last status code for sync and refresh of secret from key vault.' + type: string + message: + description: 'Message: Details of the error else empty.' + type: string + timeStampUtc: + description: |- + 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. + type: string + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: |- + 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. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.NamedValue + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.NamedValue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + keyVault: + description: |- + Storage version of v1api20220801.KeyVaultContractCreateProperties + Create keyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.NamedValueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + type: boolean + tags: + items: + type: string + type: array + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.NamedValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + keyVault: + description: |- + Storage version of v1api20220801.KeyVaultContractProperties_STATUS + KeyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + lastStatus: + description: |- + Storage version of v1api20220801.KeyVaultLastAccessStatusContractProperties_STATUS + Issue contract Update Properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + timeStampUtc: + type: string + type: object + secretIdentifier: + type: string + type: object + name: + type: string + secret: + type: boolean + tags: + items: + type: string + type: array + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9-._]+$ + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used + to access key vault secret. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + maxItems: 32 + type: array + value: + description: |- + 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. + maxLength: 4096 + type: string + required: + - displayName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + lastStatus: + description: 'LastStatus: Last time sync and refresh status of secret from key vault.' + properties: + code: + description: 'Code: Last status code for sync and refresh of secret from key vault.' + type: string + message: + description: 'Message: Details of the error else empty.' + type: string + timeStampUtc: + description: |- + 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. + type: string + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: |- + 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. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.NamedValue + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.NamedValue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + keyVault: + description: |- + Storage version of v1api20230501preview.KeyVaultContractCreateProperties + Create keyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.NamedValueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + type: boolean + tags: + items: + type: string + type: array + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.NamedValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + keyVault: + description: |- + Storage version of v1api20230501preview.KeyVaultContractProperties_STATUS + KeyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + lastStatus: + description: |- + Storage version of v1api20230501preview.KeyVaultLastAccessStatusContractProperties_STATUS + Issue contract Update Properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + timeStampUtc: + type: string + type: object + secretIdentifier: + type: string + type: object + name: + type: string + provisioningState: + type: string + secret: + type: boolean + tags: + items: + type: string + type: array + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9-._]+$ + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used + to access key vault secret. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + maxItems: 32 + type: array + value: + description: |- + 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. + maxLength: 4096 + type: string + required: + - displayName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: + description: |- + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + lastStatus: + description: 'LastStatus: Last time sync and refresh status of secret from key vault.' + properties: + code: + description: 'Code: Last status code for sync and refresh of secret from key vault.' + type: string + message: + description: 'Message: Details of the error else empty.' + type: string + timeStampUtc: + description: |- + 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. + type: string + type: object + secretIdentifier: + description: |- + 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 + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: |- + 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. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.NamedValue + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.NamedValue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + keyVault: + description: |- + Storage version of v1api20240501.KeyVaultContractCreateProperties + Create keyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretIdentifier: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240501.NamedValueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + type: boolean + tags: + items: + type: string + type: array + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.NamedValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + keyVault: + description: |- + Storage version of v1api20240501.KeyVaultContractProperties_STATUS + KeyVault contract details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + lastStatus: + description: |- + Storage version of v1api20240501.KeyVaultLastAccessStatusContractProperties_STATUS + Issue contract Update Properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + timeStampUtc: + type: string + type: object + secretIdentifier: + type: string + type: object + name: + type: string + provisioningState: + type: string + secret: + type: boolean + tags: + items: + type: string + type: array + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaces.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 6 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$ + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + minimum: 0 + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + required: + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + clusterArmId: + description: 'ClusterArmId: Cluster ARM ID of the Namespace.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the Namespace was created.' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + metricId: + description: 'MetricId: Identifier for Azure Insights metrics.' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Namespace.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the Namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updatedAt: + description: 'UpdatedAt: The time the Namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Namespace + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20211101.Identity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: + type: string + maximumThroughputUnits: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20211101.Sku + SKU parameters supplied to the create namespace operation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + clusterArmId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20211101.Identity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211101.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: + type: string + maximumThroughputUnits: + type: integer + metricId: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20211101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20211101.Sku_STATUS + SKU parameters supplied to the create namespace operation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/namespaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 6 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$ + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + minimum: 0 + type: integer + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + minimum: 0 + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + required: + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + clusterArmId: + description: 'ClusterArmId: Cluster ARM ID of the Namespace.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the Namespace was created.' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + metricId: + description: 'MetricId: Identifier for Azure Insights metrics.' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Namespace.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the Namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updatedAt: + description: 'UpdatedAt: The time the Namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.Namespace + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/namespaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20240101.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20240101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20240101.Identity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: + type: string + maximumThroughputUnits: + type: integer + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240101.Sku + SKU parameters supplied to the create namespace operation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240101.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + clusterArmId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20240101.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20240101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240101.Identity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240101.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: + type: string + maximumThroughputUnits: + type: integer + metricId: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20240101.Sku_STATUS + SKU parameters supplied to the create namespace operation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaces.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z][a-zA-Z0-9-]*$ + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + serviceBusEndpoint: + description: |- + ServiceBusEndpoint: indicates where the ServiceBusEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Represents namespace properties.' + properties: + dataCenter: + description: 'DataCenter: Deprecated.' + type: string + namespaceType: + description: 'NamespaceType: Defines values for NamespaceType.' + enum: + - Messaging + - NotificationHub + type: string + networkAcls: + description: 'NetworkAcls: A collection of network authorization rules.' + properties: + ipRules: + description: 'IpRules: List of IP rules.' + items: + description: A network authorization rule that filters traffic based on IP address. + properties: + ipMask: + description: 'IpMask: IP mask.' + minLength: 1 + type: string + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - ipMask + - rights + type: object + type: array + publicNetworkRule: + description: |- + PublicNetworkRule: A default (public Internet) network authorization rule, which contains rights if no other network + rule matches. + properties: + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - rights + type: object + type: object + pnsCredentials: + description: 'PnsCredentials: Collection of Notification Hub or Notification Hub Namespace PNS credentials.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + properties: + authTokenUrl: + description: 'AuthTokenUrl: Gets or sets the URL of the authorization token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: 'ClientId: Gets or sets the client identifier.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: Gets or sets the credential secret access key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - authTokenUrl + - clientId + - clientSecret + type: object + required: + - properties + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + properties: + apnsCertificate: + description: 'ApnsCertificate: Gets or sets the APNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + AppId: Gets or sets the issuer (iss) registered claim key, whose value is + your 10-character Team ID, obtained from your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: 'AppName: Gets or sets the name of the application' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets the endpoint of this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + KeyId: Gets or sets a 10-character key identifier (kid) key, obtained from + your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the APNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + Token: Gets or sets provider Authentication Token, obtained through your + developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - endpoint + type: object + required: + - properties + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + properties: + baiduApiKey: + description: 'BaiduApiKey: Gets or sets baidu Api Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: 'BaiduEndPoint: Gets or sets baidu Endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: 'BaiduSecretKey: Gets or sets baidu Secret Key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - baiduApiKey + - baiduEndPoint + - baiduSecretKey + type: object + required: + - properties + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + properties: + subject: + description: 'Subject: Gets or sets web push subject.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: 'VapidPrivateKey: Gets or sets VAPID private key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: 'VapidPublicKey: Gets or sets VAPID public key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - subject + - vapidPrivateKey + - vapidPublicKey + type: object + required: + - properties + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + properties: + gcmEndpoint: + description: 'GcmEndpoint: Gets or sets the GCM endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: 'GoogleApiKey: Gets or sets the Google API key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - googleApiKey + type: object + required: + - properties + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: 'MpnsCertificate: Gets or sets the MPNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the MPNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - certificateKey + - mpnsCertificate + - thumbprint + type: object + required: + - properties + type: object + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Ges or sets the WNS Certificate Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: 'PackageSid: Gets or sets the package ID for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: 'SecretKey: Gets or sets the secret key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: 'WindowsLiveEndpoint: Gets or sets the Windows Live endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: 'WnsCertificate: Gets or sets the WNS Certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + properties: + appSecret: + description: 'AppSecret: Gets or sets app secret.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets xiaomi service endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Type of public network access.' + enum: + - Disabled + - Enabled + type: string + replicationRegion: + description: 'ReplicationRegion: Allowed replication region' + enum: + - AustraliaEast + - BrazilSouth + - Default + - None + - NorthEurope + - SouthAfricaNorth + - SouthEastAsia + - WestUs2 + type: string + scaleUnit: + description: 'ScaleUnit: Gets or sets scaleUnit where the namespace gets created' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Namespace SKU name.' + enum: + - Disabled + - Enabled + type: string + type: object + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + enum: + - Basic + - Free + - Standard + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Represents namespace properties.' + properties: + createdAt: + description: 'CreatedAt: Time when the namespace was created.' + type: string + critical: + description: 'Critical: Gets or sets whether or not the namespace is set as Critical.' + type: boolean + dataCenter: + description: 'DataCenter: Deprecated.' + type: string + enabled: + description: 'Enabled: Gets or sets whether or not the namespace is currently enabled.' + type: boolean + metricId: + description: 'MetricId: Azure Insights Metrics id.' + type: string + name: + description: |- + Name: Name of the Notification Hubs namespace. This is immutable property, set automatically + by the service when the namespace is created. + type: string + namespaceType: + description: 'NamespaceType: Defines values for NamespaceType.' + type: string + networkAcls: + description: 'NetworkAcls: A collection of network authorization rules.' + properties: + ipRules: + description: 'IpRules: List of IP rules.' + items: + description: A network authorization rule that filters traffic based on IP address. + properties: + ipMask: + description: 'IpMask: IP mask.' + type: string + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: array + publicNetworkRule: + description: |- + PublicNetworkRule: A default (public Internet) network authorization rule, which contains rights if no other network + rule matches. + properties: + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: object + pnsCredentials: + description: 'PnsCredentials: Collection of Notification Hub or Notification Hub Namespace PNS credentials.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + type: object + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + type: object + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + type: object + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + type: object + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + type: object + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + type: object + type: object + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + type: object + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + type: object + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private Endpoint Connections for namespace' + items: + description: Represents a Private Endpoint Connection ARM resource - a sub-resource of Notification Hubs namespace. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Defines values for OperationProvisioningState.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Type of public network access.' + type: string + region: + description: |- + Region: Region. The value is always set to the same value as Namespace.Location, so we are deprecating + this property. + type: string + replicationRegion: + description: 'ReplicationRegion: Allowed replication region' + type: string + scaleUnit: + description: 'ScaleUnit: Gets or sets scaleUnit where the namespace gets created' + type: string + serviceBusEndpoint: + description: |- + ServiceBusEndpoint: Gets or sets endpoint you can use to perform NotificationHub + operations. + type: string + status: + description: 'Status: Namespace status.' + type: string + subscriptionId: + description: 'SubscriptionId: Namespace subscription id.' + type: string + updatedAt: + description: 'UpdatedAt: Time when the namespace was updated.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Namespace SKU name.' + type: string + type: object + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.Namespace + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230901.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230901.NamespaceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceBusEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230901.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230901.NamespaceProperties + Represents namespace properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataCenter: + type: string + namespaceType: + type: string + networkAcls: + description: |- + Storage version of v1api20230901.NetworkAcls + A collection of network authorization rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20230901.IpRule + A network authorization rule that filters traffic based on IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipMask: + type: string + rights: + items: + type: string + type: array + type: object + type: array + publicNetworkRule: + description: |- + Storage version of v1api20230901.PublicInternetAuthorizationRule + A default (public Internet) network authorization rule, which contains rights if no other network rule matches. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object + type: object + pnsCredentials: + description: |- + Storage version of v1api20230901.PnsCredentials + Collection of Notification Hub or Notification Hub Namespace PNS credentials. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authTokenUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baiduApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subject: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gcmEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + type: object + publicNetworkAccess: + type: string + replicationRegion: + type: string + scaleUnit: + type: string + zoneRedundancy: + type: string + type: object + sku: + description: |- + Storage version of v1api20230901.Sku + The Sku description for a namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230901.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230901.NamespaceProperties_STATUS + Represents namespace properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + critical: + type: boolean + dataCenter: + type: string + enabled: + type: boolean + metricId: + type: string + name: + type: string + namespaceType: + type: string + networkAcls: + description: |- + Storage version of v1api20230901.NetworkAcls_STATUS + A collection of network authorization rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20230901.IpRule_STATUS + A network authorization rule that filters traffic based on IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipMask: + type: string + rights: + items: + type: string + type: array + type: object + type: array + publicNetworkRule: + description: |- + Storage version of v1api20230901.PublicInternetAuthorizationRule_STATUS + A default (public Internet) network authorization rule, which contains rights if no other network rule matches. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object + type: object + pnsCredentials: + description: |- + Storage version of v1api20230901.PnsCredentials_STATUS + Collection of Notification Hub or Notification Hub Namespace PNS credentials. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential_STATUS + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties_STATUS + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230901.PrivateEndpointConnectionResource_STATUS + Represents a Private Endpoint Connection ARM resource - a sub-resource of Notification Hubs namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + region: + type: string + replicationRegion: + type: string + scaleUnit: + type: string + serviceBusEndpoint: + type: string + status: + type: string + subscriptionId: + type: string + updatedAt: + type: string + zoneRedundancy: + type: string + type: object + sku: + description: |- + Storage version of v1api20230901.Sku_STATUS + The Sku description for a namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaces.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' + type: string + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' + type: string + name: + description: 'Name: Resource name' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.Namespace + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20210101preview.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20210101preview.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20210101preview.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20210101preview.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210101preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210101preview.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20210101preview.SBSku + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + encryption: + description: |- + Storage version of v1api20210101preview.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20210101preview.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20210101preview.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210101preview.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210101preview.DictionaryValue_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + metricId: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210101preview.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20210101preview.SBSku_STATUS + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + required: + - location + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' + type: string + name: + description: 'Name: Resource name' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Namespace + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20211101.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20211101.SBSku + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20211101.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211101.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + metricId: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20211101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20211101.SBSku_STATUS + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + premiumMessagingPartitions: + description: |- + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: |- + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + required: + - location + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: Resource name' + type: string + premiumMessagingPartitions: + description: |- + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: |- + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.Namespace + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20221001preview.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20221001preview.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20221001preview.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20221001preview.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20221001preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20221001preview.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + premiumMessagingPartitions: + type: integer + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20221001preview.SBSku + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20221001preview.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20221001preview.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20221001preview.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20221001preview.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20221001preview.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + metricId: + type: string + minimumTlsVersion: + type: string + name: + type: string + premiumMessagingPartitions: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20221001preview.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20221001preview.SBSku_STATUS + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + premiumMessagingPartitions: + description: |- + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: |- + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + zoneRedundant: + description: |- + ZoneRedundant: This property reflects if zone redundancy has been enabled for namespaces in regions that support + availability zones. + type: boolean + required: + - location + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: Resource name' + type: string + premiumMessagingPartitions: + description: |- + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: |- + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: This property reflects if zone redundancy has been enabled for namespaces in regions that support + availability zones. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.Namespace + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20240101.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20240101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20240101.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + premiumMessagingPartitions: + type: integer + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240101.SBSku + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240101.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20240101.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20240101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240101.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240101.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + metricId: + type: string + minimumTlsVersion: + type: string + name: + type: string + premiumMessagingPartitions: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20240101.SBSku_STATUS + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacesauthorizationrules.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRule + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesAuthorizationRule + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacesauthorizationrules.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[a-zA-Z0-9!()*-._]+$ + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' + properties: + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - rights + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Deprecated - only for compatibility.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' + properties: + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' + type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Deprecated - only for compatibility.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.NamespacesAuthorizationRule + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230901.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230901.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: + type: integer + rights: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacesauthorizationrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: Resource name' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.NamespacesAuthorizationRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.NamespacesAuthorizationRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesAuthorizationRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaceseventhubs.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhub + listKind: NamespacesEventhubList + plural: namespaceseventhubs + singular: namespaceseventhub + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + type: string + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + enum: + - Avro + - AvroDeflate + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + minimum: 1 + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + minimum: 1 + type: integer + required: + - owner + type: object + status: + properties: + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + type: string + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: Resource id of the storage account to be used to create the blobs' + type: string + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: Exact time the Event Hub was created.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + type: integer + name: + description: 'Name: The name of the resource' + type: string + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + type: integer + partitionIds: + description: 'PartitionIds: Current number of shards on the Event Hub.' + items: + type: string + type: array + status: + description: 'Status: Enumerates the possible values for the status of the Event Hub.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesEventhub + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesEventhub_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + captureDescription: + description: |- + Storage version of v1api20211101.CaptureDescription + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20211101.Destination + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + messageRetentionInDays: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesEventhubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesEventhub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + captureDescription: + description: |- + Storage version of v1api20211101.CaptureDescription_STATUS + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20211101.Destination_STATUS + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + name: + type: string + storageAccountResourceId: + type: string + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + id: + type: string + location: + type: string + messageRetentionInDays: + type: integer + name: + type: string + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + status: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + type: string + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + identity: + description: 'Identity: A value that indicates whether capture description is enabled.' + properties: + type: + description: 'Type: Type of Azure Active Directory Managed Identity.' + enum: + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: ARM ID of Managed User Identity. This property is required is the type is + UserAssignedIdentity. If type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be + used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + enum: + - Avro + - AvroDeflate + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + minimum: 1 + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + minimum: 1 + type: integer + retentionDescription: + description: 'RetentionDescription: Event Hub retention settings' + properties: + cleanupPolicy: + description: 'CleanupPolicy: Enumerates the possible values for cleanup policy' + enum: + - Compact + - Delete + type: string + retentionTimeInHours: + description: |- + RetentionTimeInHours: Number of hours to retain the events for this Event Hub. This value is only used when + cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue + type: integer + tombstoneRetentionTimeInHours: + description: |- + TombstoneRetentionTimeInHours: Number of hours to retain the tombstone markers of a compacted Event Hub. This value is + only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified + amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key + described by the tombstone marker within the compacted Event Hub + type: integer + type: object + userMetadata: + description: 'UserMetadata: Gets and Sets Metadata of User.' + type: string + required: + - owner + type: object + status: + properties: + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + type: string + identity: + description: 'Identity: A value that indicates whether capture description is enabled.' + properties: + type: + description: 'Type: Type of Azure Active Directory Managed Identity.' + type: string + userAssignedIdentity: + description: |- + UserAssignedIdentity: ARM ID of Managed User Identity. This property is required is the type is UserAssignedIdentity. If + type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be used. + type: string + type: object + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: Resource id of the storage account to be used to create the blobs' + type: string + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: Exact time the Event Hub was created.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + type: integer + name: + description: 'Name: The name of the resource' + type: string + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + type: integer + partitionIds: + description: 'PartitionIds: Current number of shards on the Event Hub.' + items: + type: string + type: array + retentionDescription: + description: 'RetentionDescription: Event Hub retention settings' + properties: + cleanupPolicy: + description: 'CleanupPolicy: Enumerates the possible values for cleanup policy' + type: string + retentionTimeInHours: + description: |- + RetentionTimeInHours: Number of hours to retain the events for this Event Hub. This value is only used when + cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue + type: integer + tombstoneRetentionTimeInHours: + description: |- + TombstoneRetentionTimeInHours: Number of hours to retain the tombstone markers of a compacted Event Hub. This value is + only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified + amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key + described by the tombstone marker within the compacted Event Hub + type: integer + type: object + status: + description: 'Status: Enumerates the possible values for the status of the Event Hub.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: + description: 'UserMetadata: Gets and Sets Metadata of User.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesEventhub + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesEventhub_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + captureDescription: + description: |- + Storage version of v1api20240101.CaptureDescription + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20240101.Destination + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + identity: + description: |- + Storage version of v1api20240101.CaptureIdentity + A value that indicates whether capture description is enabled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: ARM ID of Managed User Identity. This property is required is the type is + UserAssignedIdentity. If type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be + used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + messageRetentionInDays: + type: integer + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesEventhubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + type: integer + retentionDescription: + description: |- + Storage version of v1api20240101.RetentionDescription + Properties to configure retention settings for the eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cleanupPolicy: + type: string + retentionTimeInHours: + type: integer + tombstoneRetentionTimeInHours: + type: integer + type: object + userMetadata: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesEventhub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + captureDescription: + description: |- + Storage version of v1api20240101.CaptureDescription_STATUS + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20240101.Destination_STATUS + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + identity: + description: |- + Storage version of v1api20240101.CaptureIdentity_STATUS + A value that indicates whether capture description is enabled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentity: + type: string + type: object + name: + type: string + storageAccountResourceId: + type: string + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + id: + type: string + location: + type: string + messageRetentionInDays: + type: integer + name: + type: string + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + retentionDescription: + description: |- + Storage version of v1api20240101.RetentionDescription_STATUS + Properties to configure retention settings for the eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cleanupPolicy: + type: string + retentionTimeInHours: + type: integer + tombstoneRetentionTimeInHours: + type: integer + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + userMetadata: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaceseventhubsauthorizationrules.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhubsAuthorizationRule + listKind: NamespacesEventhubsAuthorizationRuleList + plural: namespaceseventhubsauthorizationrules + singular: namespaceseventhubsauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesEventhubsAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespaceseventhubsconsumergroups.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhubsConsumerGroup + listKind: NamespacesEventhubsConsumerGroupList + plural: namespaceseventhubsconsumergroups + singular: namespaceseventhubsconsumergroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesEventhubsConsumerGroup + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesEventhubsConsumerGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + userMetadata: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + id: + type: string + location: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + userMetadata: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesEventhubsConsumerGroup + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesEventhubsConsumerGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesEventhubsConsumerGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + userMetadata: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesEventhubsConsumerGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + id: + type: string + location: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + userMetadata: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacesqueues.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesQueue + listKind: NamespacesQueueList + plural: namespacesqueues + singular: namespacesqueue + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: 'Id: Resource Id' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer + name: + description: 'Name: Resource name' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.NamespacesQueue + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.NamespacesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespacesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.NamespacesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer + status: + type: string + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesQueue + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer + status: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.NamespacesQueue + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.NamespacesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespacesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20221001preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer + status: + type: string + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesQueue + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20240101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacestopics.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesTopic + listKind: NamespacesTopicList + plural: namespacestopics + singular: namespacestopic + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + id: + description: 'Id: Resource Id' + type: string + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + name: + description: 'Name: Resource name' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.NamespacesTopic + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.NamespacesTopic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespacesTopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.NamespacesTopic_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + id: + type: string + maxSizeInMegabytes: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesTopic + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesTopic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesTopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesTopic_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + id: + type: string + location: + type: string + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.NamespacesTopic + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.NamespacesTopic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespacesTopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesTopic_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20221001preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + id: + type: string + location: + type: string + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesTopic + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesTopic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesTopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesTopic_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20240101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + id: + type: string + location: + type: string + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacestopicssubscriptions.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesTopicsSubscription + listKind: NamespacesTopicsSubscriptionList + plural: namespacestopicssubscriptions + singular: namespacestopicssubscription + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: 'Id: Resource Id' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer + name: + description: 'Name: Resource name' + type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.NamespacesTopicsSubscription + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer + name: + type: string + requiresSession: + type: boolean + status: + type: string + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesTopicsSubscription + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesTopicsSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffineProperties: + description: |- + Storage version of v1api20211101.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + isClientAffine: + type: boolean + lockDuration: + type: string + maxDeliveryCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesTopicsSubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesTopicsSubscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + clientAffineProperties: + description: |- + Storage version of v1api20211101.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + isClientAffine: + type: boolean + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer + name: + type: string + requiresSession: + type: boolean + status: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.NamespacesTopicsSubscription + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffineProperties: + description: |- + Storage version of v1api20221001preview.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + isClientAffine: + type: boolean + lockDuration: + type: string + maxDeliveryCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + clientAffineProperties: + description: |- + Storage version of v1api20221001preview.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20221001preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + isClientAffine: + type: boolean + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer + name: + type: string + requiresSession: + type: boolean + status: + type: string + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + required: + - owner + type: object + status: + properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesTopicsSubscription + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesTopicsSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoDeleteOnIdle: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffineProperties: + description: |- + Storage version of v1api20240101.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + isClientAffine: + type: boolean + lockDuration: + type: string + maxDeliveryCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesTopicsSubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesTopicsSubscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + clientAffineProperties: + description: |- + Storage version of v1api20240101.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + countDetails: + description: |- + Storage version of v1api20240101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + isClientAffine: + type: boolean + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer + name: + type: string + requiresSession: + type: boolean + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + updatedAt: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: namespacestopicssubscriptionsrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesTopicsSubscriptionsRule + listKind: NamespacesTopicsSubscriptionsRuleList + plural: namespacestopicssubscriptionsrules + singular: namespacestopicssubscriptionsrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + maximum: 20 + minimum: 20 + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + required: + - owner + type: object + status: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: string + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: Resource name' + type: string + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2021-01-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20210101preview.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + correlationFilter: + description: |- + Storage version of v1api20210101preview.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + operatorSpec: + description: |- + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: |- + Storage version of v1api20210101preview.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20210101preview.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: |- + Storage version of v1api20210101preview.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + name: + type: string + sqlFilter: + description: |- + Storage version of v1api20210101preview.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + required: + - owner + type: object + status: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2021-11-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20211101.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + correlationFilter: + description: |- + Storage version of v1api20211101.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesTopicsSubscriptionsRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: |- + Storage version of v1api20211101.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20211101.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: |- + Storage version of v1api20211101.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + location: + type: string + name: + type: string + sqlFilter: + description: |- + Storage version of v1api20211101.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + required: + - owner + type: object + status: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/preview/2022-10-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20221001preview.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + correlationFilter: + description: |- + Storage version of v1api20221001preview.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + operatorSpec: + description: |- + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: |- + Storage version of v1api20221001preview.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20221001preview.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: |- + Storage version of v1api20221001preview.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + location: + type: string + name: + type: string + sqlFilter: + description: |- + Storage version of v1api20221001preview.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + required: + - owner + type: object + status: + properties: + action: + description: |- + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240101.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + correlationFilter: + description: |- + Storage version of v1api20240101.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.NamespacesTopicsSubscriptionsRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sqlFilter: + description: |- + Storage version of v1api20240101.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240101.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + correlationFilter: + description: |- + Storage version of v1api20240101.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + location: + type: string + name: + type: string + sqlFilter: + description: |- + Storage version of v1api20240101.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: natgateways.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NatGateway + listKind: NatGatewayList + plural: natgateways + singular: natgateway + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' + type: integer + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + enum: + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Nat Gateway resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' + type: integer + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' + type: string + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + type: string + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + type: string + type: object + subnets: + description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.NatGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.NatGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + idleTimeoutInMinutes: + type: integer + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.NatGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddresses: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.NatGatewaySku + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.NatGateway_STATUS + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + idleTimeoutInMinutes: + type: integer + location: + type: string + name: + type: string + provisioningState: + type: string + publicIpAddresses: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20220701.NatGatewaySku_STATUS + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + subnets: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' + type: integer + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + enum: + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Nat Gateway resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' + type: integer + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' + type: string + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + type: string + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + type: string + type: object + subnets: + description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.NatGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.NatGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + idleTimeoutInMinutes: + type: integer + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.NatGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddresses: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20240301.NatGatewaySku + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.NatGateway_STATUS + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + idleTimeoutInMinutes: + type: integer + location: + type: string + name: + type: string + provisioningState: + type: string + publicIpAddresses: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.NatGatewaySku_STATUS + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + subnets: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: networkinterfaces.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkInterface + listKind: NetworkInterfaceList + plural: networkinterfaces + singular: networkinterface + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: Private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + nicType: + description: 'NicType: Type of Network Interface resource.' + enum: + - Elastic + - Standard + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: A network interface in a resource group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + appliedDnsServers: + description: |- + AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of + all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of + those VMs. + items: + type: string + type: array + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + internalDomainNameSuffix: + description: |- + InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of + the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + type: string + internalFqdn: + description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' + type: string + type: object + dscpConfiguration: + description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostedWorkloads: + description: 'HostedWorkloads: A list of references to linked BareMetal resources.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: Private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + privateLinkConnectionProperties: + description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for current private link connection.' + items: + type: string + type: array + groupId: + description: 'GroupId: The group ID for current private link connection.' + type: string + requiredMemberName: + description: 'RequiredMemberName: The required member name for current private link connection.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + macAddress: + description: 'MacAddress: The MAC address of the network interface.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Network Interface resource.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + nicType: + description: 'NicType: Type of Network Interface resource.' + type: string + primary: + description: 'Primary: Whether this is a primary network interface on a virtual machine.' + type: boolean + privateEndpoint: + description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network interface resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tapConfigurations: + description: 'TapConfigurations: A list of TapConfigurations of the network interface.' + items: + description: Tap configuration in a Network Interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' + type: string + virtualMachine: + description: 'VirtualMachine: The reference to a virtual machine.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.NetworkInterface + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.NetworkInterface_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsSettings: + description: |- + Storage version of v1api20201101.NetworkInterfaceDnsSettings + DNS settings of a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: + type: string + type: object + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + type: string + networkSecurityGroup: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + nicType: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.NetworkInterfaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkService: + description: |- + Storage version of v1api20201101.PrivateLinkServiceSpec + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.NetworkInterface_STATUS + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsSettings: + description: |- + Storage version of v1api20201101.NetworkInterfaceDnsSettings_STATUS + DNS settings of a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedDnsServers: + items: + type: string + type: array + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: + type: string + internalDomainNameSuffix: + type: string + internalFqdn: + type: string + type: object + dscpConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostedWorkloads: + items: + type: string + type: array + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + privateLinkConnectionProperties: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS + PrivateLinkConnection properties for the network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + groupId: + type: string + requiredMemberName: + type: string + type: object + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_STATUS_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: array + location: + type: string + macAddress: + type: string + migrationPhase: + type: string + name: + type: string + networkSecurityGroup: + description: |- + Storage version of v1api20201101.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + nicType: + type: string + primary: + type: boolean + privateEndpoint: + description: |- + Storage version of v1api20201101.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkService: + description: |- + Storage version of v1api20201101.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + tapConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + Tap configuration in a Network Interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: + type: string + virtualMachine: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + auxiliaryMode: + description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' + enum: + - AcceleratedConnections + - Floating + - MaxConnections + - None + type: string + auxiliarySku: + description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' + enum: + - A1 + - A2 + - A4 + - A8 + - None + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableTcpStateTracking: + description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' + type: boolean + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + type: object + enableAcceleratedNetworking: + description: |- + EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM + sizes which require accelerated networking. + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: |- + PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the + format
/. + type: string + privateIPAddressPrefixLength: + description: |- + PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, + the service will allocate a CIDR block instead of a single IP address. + maximum: 128 + minimum: 1 + type: integer + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + nicType: + description: 'NicType: Type of Network Interface resource.' + enum: + - Elastic + - Standard + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + workloadType: + description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' + type: string + required: + - owner + type: object + status: + description: A network interface in a resource group. + properties: + auxiliaryMode: + description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' + type: string + auxiliarySku: + description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableTcpStateTracking: + description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' + type: boolean + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + appliedDnsServers: + description: |- + AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of + all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of + those VMs. + items: + type: string + type: array + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + internalDomainNameSuffix: + description: |- + InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of + the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + type: string + internalFqdn: + description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' + type: string + type: object + dscpConfiguration: + description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableAcceleratedNetworking: + description: |- + EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM + sizes which require accelerated networking. + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostedWorkloads: + description: 'HostedWorkloads: A list of references to linked BareMetal resources.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: |- + PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the + format
/. + type: string + privateIPAddressPrefixLength: + description: |- + PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, + the service will allocate a CIDR block instead of a single IP address. + type: integer + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + privateLinkConnectionProperties: + description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for current private link connection.' + items: + type: string + type: array + groupId: + description: 'GroupId: The group ID for current private link connection.' + type: string + requiredMemberName: + description: 'RequiredMemberName: The required member name for current private link connection.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + macAddress: + description: 'MacAddress: The MAC address of the network interface.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Network Interface resource.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + nicType: + description: 'NicType: Type of Network Interface resource.' + type: string + primary: + description: 'Primary: Whether this is a primary network interface on a virtual machine.' + type: boolean + privateEndpoint: + description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network interface resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tapConfigurations: + description: 'TapConfigurations: A list of TapConfigurations of the network interface.' + items: + description: Tap configuration in a Network Interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' + type: string + virtualMachine: + description: 'VirtualMachine: The reference to a virtual machine.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + vnetEncryptionSupported: + description: 'VnetEncryptionSupported: Whether the virtual machine this nic is attached to supports encryption.' + type: boolean + workloadType: + description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.NetworkInterface + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.NetworkInterface_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auxiliaryMode: + type: string + auxiliarySku: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableTcpStateTracking: + type: boolean + dnsSettings: + description: |- + Storage version of v1api20240301.NetworkInterfaceDnsSettings + DNS settings of a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: + type: string + type: object + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressPrefixLength: + type: integer + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + type: string + networkSecurityGroup: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + nicType: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.NetworkInterfaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkService: + description: |- + Storage version of v1api20240301.PrivateLinkServiceSpec + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + workloadType: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auxiliaryMode: + type: string + auxiliarySku: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableTcpStateTracking: + type: boolean + dnsSettings: + description: |- + Storage version of v1api20240301.NetworkInterfaceDnsSettings_STATUS + DNS settings of a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedDnsServers: + items: + type: string + type: array + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: + type: string + internalDomainNameSuffix: + type: string + internalFqdn: + type: string + type: object + dscpConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostedWorkloads: + items: + type: string + type: array + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressPrefixLength: + type: integer + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + privateLinkConnectionProperties: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS + PrivateLinkConnection properties for the network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + groupId: + type: string + requiredMemberName: + type: string + type: object + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: array + location: + type: string + macAddress: + type: string + migrationPhase: + type: string + name: + type: string + networkSecurityGroup: + description: |- + Storage version of v1api20240301.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + nicType: + type: string + primary: + type: boolean + privateEndpoint: + description: |- + Storage version of v1api20240301.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkService: + description: |- + Storage version of v1api20240301.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + tapConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + Tap configuration in a Network Interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: + type: string + virtualMachine: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vnetEncryptionSupported: + type: boolean + workloadType: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: networksecuritygroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkSecurityGroup + listKind: NetworkSecurityGroupList + plural: networksecuritygroups + singular: networksecuritygroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: NetworkSecurityGroup resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultSecurityRules: + description: 'DefaultSecurityRules: The default security rules of network security group.' + items: + description: Network security rule. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + flowLogs: + description: 'FlowLogs: A collection of references to flow log resources.' + items: + description: A flow log resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: A collection of references to network interfaces.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the network security group resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network security group resource.' + type: string + subnets: + description: 'Subnets: A collection of references to subnets.' + items: + description: Subnet in a virtual network resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.NetworkSecurityGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.NetworkSecurityGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.NetworkSecurityGroup_STATUS + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultSecurityRules: + items: + description: |- + Storage version of v1api20201101.SecurityRule_STATUS + Network security rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + flowLogs: + items: + description: |- + Storage version of v1api20201101.FlowLog_STATUS + A flow log resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20201101.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + subnets: + items: + description: |- + Storage version of v1api20201101.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + flushConnection: + description: |- + FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are + updates. Initial enablement will trigger re-evaluation. + type: boolean + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: NetworkSecurityGroup resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultSecurityRules: + description: 'DefaultSecurityRules: The default security rules of network security group.' + items: + description: Network security rule. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + flushConnection: + description: |- + FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are + updates. Initial enablement will trigger re-evaluation. + type: boolean + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: A collection of references to network interfaces.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the network security group resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network security group resource.' + type: string + subnets: + description: 'Subnets: A collection of references to subnets.' + items: + description: Subnet in a virtual network resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.NetworkSecurityGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.NetworkSecurityGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + flushConnection: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.NetworkSecurityGroup_STATUS + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultSecurityRules: + items: + description: |- + Storage version of v1api20240301.SecurityRule_STATUS + Network security rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + flushConnection: + type: boolean + id: + type: string + location: + type: string + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + subnets: + items: + description: |- + Storage version of v1api20240301.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: networksecuritygroupssecurityrules.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkSecurityGroupsSecurityRule + listKind: NetworkSecurityGroupsSecurityRuleList + plural: networksecuritygroupssecurityrules + singular: networksecuritygroupssecurityrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + access: + description: 'Access: The network traffic is allowed or denied.' + enum: + - Allow + - Deny + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + enum: + - Inbound + - Outbound + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkSecurityGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + enum: + - Ah + - Esp + - Icmp + - '*' + - Tcp + - Udp + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' + items: + type: string + type: array + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' + items: + type: string + type: array + required: + - access + - direction + - owner + - protocol + type: object + status: + properties: + access: + description: 'Access: The network traffic is allowed or denied.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the security rule resource.' + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' + items: + type: string + type: array + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + access: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupsSecurityRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkSecurityGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + protocol: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sourcePortRange: + type: string + sourcePortRanges: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + access: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + etag: + type: string + id: + type: string + name: + type: string + priority: + type: integer + protocol: + type: string + provisioningState: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sourcePortRange: + type: string + sourcePortRanges: + items: + type: string + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + access: + description: 'Access: The network traffic is allowed or denied.' + enum: + - Allow + - Deny + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + enum: + - Inbound + - Outbound + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkSecurityGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + enum: + - Ah + - Esp + - Icmp + - '*' + - Tcp + - Udp + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' + items: + type: string + type: array + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' + items: + type: string + type: array + required: + - access + - direction + - owner + - priority + - protocol + type: object + status: + properties: + access: + description: 'Access: The network traffic is allowed or denied.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the security rule resource.' + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' + items: + type: string + type: array + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + access: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupsSecurityRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkSecurityGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + protocol: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sourcePortRange: + type: string + sourcePortRanges: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + access: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + etag: + type: string + id: + type: string + name: + type: string + priority: + type: integer + protocol: + type: string + provisioningState: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sourcePortRange: + type: string + sourcePortRanges: + items: + type: string + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: networkwatchers.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkWatcher + listKind: NetworkWatcherList + plural: networkwatchers + singular: networkwatcher + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-10-01/networkWatcher.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Network watcher in a resource group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the network watcher resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241001.NetworkWatcher + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-10-01/networkWatcher.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241001.NetworkWatcher_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20241001.NetworkWatcherOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20241001.NetworkWatcher_STATUS + Network watcher in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: networkwatchersflowlogs.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkWatchersFlowLog + listKind: NetworkWatchersFlowLogList + plural: networkwatchersflowlogs + singular: networkwatchersflowlog + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-10-01/networkWatcher.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + description: 'Enabled: Flag to enable/disable flow logging.' + type: boolean + enabledFilteringCriteria: + description: |- + EnabledFilteringCriteria: Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, + Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. + type: string + flowAnalyticsConfiguration: + description: 'FlowAnalyticsConfiguration: Parameters that define the configuration of traffic analytics.' + properties: + networkWatcherFlowAnalyticsConfiguration: + description: 'NetworkWatcherFlowAnalyticsConfiguration: Parameters that define the configuration of traffic analytics.' + properties: + enabled: + description: 'Enabled: Flag to enable/disable traffic analytics.' + type: boolean + trafficAnalyticsInterval: + description: 'TrafficAnalyticsInterval: The interval in minutes which would decide how frequently TA service should do flow analytics.' + type: integer + workspaceRegion: + description: 'WorkspaceRegion: The location of the attached workspace.' + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: Resource Id of the attached workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + format: + description: 'Format: Parameters that define the flow log format.' + properties: + type: + description: 'Type: The file type of flow log.' + enum: + - JSON + type: string + version: + description: 'Version: The version (revision) of the flow log.' + type: integer + type: object + identity: + description: 'Identity: FlowLog resource Managed Identity' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkWatcher resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: Parameters that define the retention policy for flow log.' + properties: + days: + description: 'Days: Number of days to retain flow log records.' + type: integer + enabled: + description: 'Enabled: Flag to enable/disable retention.' + type: boolean + type: object + storageReference: + description: 'StorageReference: ID of the storage account which is used to store the flow log.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceReference: + description: 'TargetResourceReference: ID of network security group to which flow log will be applied.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - storageReference + - targetResourceReference + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + description: 'Enabled: Flag to enable/disable flow logging.' + type: boolean + enabledFilteringCriteria: + description: |- + EnabledFilteringCriteria: Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, + Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + flowAnalyticsConfiguration: + description: 'FlowAnalyticsConfiguration: Parameters that define the configuration of traffic analytics.' + properties: + networkWatcherFlowAnalyticsConfiguration: + description: 'NetworkWatcherFlowAnalyticsConfiguration: Parameters that define the configuration of traffic analytics.' + properties: + enabled: + description: 'Enabled: Flag to enable/disable traffic analytics.' + type: boolean + trafficAnalyticsInterval: + description: 'TrafficAnalyticsInterval: The interval in minutes which would decide how frequently TA service should do flow analytics.' + type: integer + workspaceId: + description: 'WorkspaceId: The resource guid of the attached workspace.' + type: string + workspaceRegion: + description: 'WorkspaceRegion: The location of the attached workspace.' + type: string + workspaceResourceId: + description: 'WorkspaceResourceId: Resource Id of the attached workspace.' + type: string + type: object + type: object + format: + description: 'Format: Parameters that define the flow log format.' + properties: + type: + description: 'Type: The file type of flow log.' + type: string + version: + description: 'Version: The version (revision) of the flow log.' + type: integer + type: object + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: FlowLog resource Managed Identity' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the flow log.' + type: string + retentionPolicy: + description: 'RetentionPolicy: Parameters that define the retention policy for flow log.' + properties: + days: + description: 'Days: Number of days to retain flow log records.' + type: integer + enabled: + description: 'Enabled: Flag to enable/disable retention.' + type: boolean + type: object + storageId: + description: 'StorageId: ID of the storage account which is used to store the flow log.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceGuid: + description: 'TargetResourceGuid: Guid of network security group to which flow log will be applied.' + type: string + targetResourceId: + description: 'TargetResourceId: ID of network security group to which flow log will be applied.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241001.NetworkWatchersFlowLog + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-10-01/networkWatcher.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241001.NetworkWatchersFlowLog_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + type: boolean + enabledFilteringCriteria: + type: string + flowAnalyticsConfiguration: + description: |- + Storage version of v1api20241001.TrafficAnalyticsProperties + Parameters that define the configuration of traffic analytics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkWatcherFlowAnalyticsConfiguration: + description: |- + Storage version of v1api20241001.TrafficAnalyticsConfigurationProperties + Parameters that define the configuration of traffic analytics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + trafficAnalyticsInterval: + type: integer + workspaceRegion: + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: Resource Id of the attached workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + format: + description: |- + Storage version of v1api20241001.FlowLogFormatParameters + Parameters that define the flow log format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + version: + type: integer + type: object + identity: + description: |- + Storage version of v1api20241001.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20241001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20241001.NetworkWatchersFlowLogOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/NetworkWatcher resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20241001.RetentionPolicyParameters + Parameters that define the retention policy for flow log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + storageReference: + description: 'StorageReference: ID of the storage account which is used to store the flow log.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceReference: + description: 'TargetResourceReference: ID of network security group to which flow log will be applied.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - storageReference + - targetResourceReference + type: object + status: + description: Storage version of v1api20241001.NetworkWatchersFlowLog_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + type: boolean + enabledFilteringCriteria: + type: string + etag: + type: string + flowAnalyticsConfiguration: + description: |- + Storage version of v1api20241001.TrafficAnalyticsProperties_STATUS + Parameters that define the configuration of traffic analytics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkWatcherFlowAnalyticsConfiguration: + description: |- + Storage version of v1api20241001.TrafficAnalyticsConfigurationProperties_STATUS + Parameters that define the configuration of traffic analytics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + trafficAnalyticsInterval: + type: integer + workspaceId: + type: string + workspaceRegion: + type: string + workspaceResourceId: + type: string + type: object + type: object + format: + description: |- + Storage version of v1api20241001.FlowLogFormatParameters_STATUS + Parameters that define the flow log format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + version: + type: integer + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20241001.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20241001.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + provisioningState: + type: string + retentionPolicy: + description: |- + Storage version of v1api20241001.RetentionPolicyParameters_STATUS + Parameters that define the retention policy for flow log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + storageId: + type: string + tags: + additionalProperties: + type: string + type: object + targetResourceGuid: + type: string + targetResourceId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: notificationhubs.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: NotificationHub + listKind: NotificationHubList + plural: notificationhubs + singular: notificationhub + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 265 + minLength: 1 + pattern: ^[a-zA-Z][a-zA-Z0-9-./_]*$ + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: NotificationHub properties.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + properties: + authTokenUrl: + description: 'AuthTokenUrl: Gets or sets the URL of the authorization token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: 'ClientId: Gets or sets the client identifier.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: Gets or sets the credential secret access key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - authTokenUrl + - clientId + - clientSecret + type: object + required: + - properties + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + properties: + apnsCertificate: + description: 'ApnsCertificate: Gets or sets the APNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + AppId: Gets or sets the issuer (iss) registered claim key, whose value is + your 10-character Team ID, obtained from your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: 'AppName: Gets or sets the name of the application' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets the endpoint of this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + KeyId: Gets or sets a 10-character key identifier (kid) key, obtained from + your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the APNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + Token: Gets or sets provider Authentication Token, obtained through your + developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - endpoint + type: object + required: + - properties + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + properties: + baiduApiKey: + description: 'BaiduApiKey: Gets or sets baidu Api Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: 'BaiduEndPoint: Gets or sets baidu Endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: 'BaiduSecretKey: Gets or sets baidu Secret Key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - baiduApiKey + - baiduEndPoint + - baiduSecretKey + type: object + required: + - properties + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + properties: + subject: + description: 'Subject: Gets or sets web push subject.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: 'VapidPrivateKey: Gets or sets VAPID private key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: 'VapidPublicKey: Gets or sets VAPID public key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - subject + - vapidPrivateKey + - vapidPublicKey + type: object + required: + - properties + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + properties: + gcmEndpoint: + description: 'GcmEndpoint: Gets or sets the GCM endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: 'GoogleApiKey: Gets or sets the Google API key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - googleApiKey + type: object + required: + - properties + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: 'MpnsCertificate: Gets or sets the MPNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the MPNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - certificateKey + - mpnsCertificate + - thumbprint + type: object + required: + - properties + type: object + name: + description: 'Name: Gets or sets the NotificationHub name.' + type: string + registrationTtl: + description: 'RegistrationTtl: Gets or sets the RegistrationTtl of the created NotificationHub' + type: string + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Ges or sets the WNS Certificate Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: 'PackageSid: Gets or sets the package ID for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: 'SecretKey: Gets or sets the secret key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: 'WindowsLiveEndpoint: Gets or sets the Windows Live endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: 'WnsCertificate: Gets or sets the WNS Certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + properties: + appSecret: + description: 'AppSecret: Gets or sets app secret.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets xiaomi service endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + type: object + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + enum: + - Basic + - Free + - Standard + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: NotificationHub properties.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + type: object + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + type: object + type: object + authorizationRules: + description: 'AuthorizationRules: Gets or sets the AuthorizationRules of the created NotificationHub' + items: + description: SharedAccessAuthorizationRule properties. + properties: + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' + type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: array + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + type: object + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + type: object + type: object + dailyMaxActiveDevices: + type: integer + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + type: object + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + type: object + type: object + name: + description: 'Name: Gets or sets the NotificationHub name.' + type: string + registrationTtl: + description: 'RegistrationTtl: Gets or sets the RegistrationTtl of the created NotificationHub' + type: string + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + type: object + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + type: object + type: object + type: object + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.NotificationHub + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.NotificationHub_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230901.NotificationHubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230901.NotificationHubOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230901.NotificationHubProperties + NotificationHub properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authTokenUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baiduApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subject: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gcmEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + name: + type: string + registrationTtl: + type: string + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20230901.Sku + The Sku description for a namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230901.NotificationHub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230901.NotificationHubProperties_STATUS + NotificationHub properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + authorizationRules: + items: + description: |- + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: + type: integer + rights: + items: + type: string + type: array + type: object + type: array + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + dailyMaxActiveDevices: + type: integer + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + name: + type: string + registrationTtl: + type: string + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential_STATUS + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties_STATUS + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20230901.Sku_STATUS + The Sku description for a namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: notificationhubsauthorizationrules.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: NotificationHubsAuthorizationRule + listKind: NotificationHubsAuthorizationRuleList + plural: notificationhubsauthorizationrules + singular: notificationhubsauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[a-zA-Z0-9!()*-._]+$ + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/NotificationHub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' + properties: + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - rights + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Deprecated - only for compatibility.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' + properties: + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' + type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Deprecated - only for compatibility.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.NotificationHubsAuthorizationRule + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.NotificationHubsAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230901.NotificationHubsAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/NotificationHub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230901.NotificationHubsAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: + type: integer + rights: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: openshiftclusters.redhatopenshift.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: redhatopenshift.azure.com + names: + categories: + - azure + - redhatopenshift + kind: OpenShiftCluster + listKind: OpenShiftClusterList + plural: openshiftclusters + singular: openshiftcluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231122 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiserverProfile: + description: 'ApiserverProfile: The cluster API server profile.' + properties: + visibility: + description: 'Visibility: API server visibility.' + enum: + - Private + - Public + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterProfile: + description: 'ClusterProfile: The cluster profile.' + properties: + domain: + description: 'Domain: The domain for the cluster.' + type: string + fipsValidatedModules: + description: 'FipsValidatedModules: If FIPS validated crypto modules are used' + enum: + - Disabled + - Enabled + type: string + pullSecret: + description: 'PullSecret: The pull secret for the cluster.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceGroupId: + description: 'ResourceGroupId: The ID of the cluster resource group.' + type: string + version: + description: 'Version: The version of the cluster.' + type: string + type: object + ingressProfiles: + description: 'IngressProfiles: The cluster ingress profiles.' + items: + description: IngressProfile represents an ingress profile. + properties: + name: + description: 'Name: The ingress profile name.' + type: string + visibility: + description: 'Visibility: Ingress visibility.' + enum: + - Private + - Public + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + masterProfile: + description: 'MasterProfile: The cluster master profile.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the master subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + description: 'VmSize: The size of the master VMs.' + type: string + type: object + networkProfile: + description: 'NetworkProfile: The cluster network profile.' + properties: + loadBalancerProfile: + description: 'LoadBalancerProfile: The cluster load balancer profile.' + properties: + managedOutboundIps: + description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' + properties: + count: + description: |- + Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load + balancer. Allowed values are in the range of 1 - 20. The default value is 1. + type: integer + type: object + type: object + outboundType: + description: 'OutboundType: The OutboundType used for egress traffic.' + enum: + - Loadbalancer + - UserDefinedRouting + type: string + podCidr: + description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' + type: string + preconfiguredNSG: + description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' + enum: + - Disabled + - Enabled + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + password: + description: 'Password: indicates where the Password secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + username: + description: 'Username: indicates where the Username secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + servicePrincipalProfile: + description: 'ServicePrincipalProfile: The cluster service principal profile.' + properties: + clientId: + description: 'ClientId: The client ID used for the cluster.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID used for the cluster.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret used for the cluster.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + workerProfiles: + description: 'WorkerProfiles: The cluster worker profiles.' + items: + description: WorkerProfile represents a worker profile. + properties: + count: + description: 'Count: The number of worker VMs.' + type: integer + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + enum: + - Disabled + - Enabled + type: string + name: + description: 'Name: The worker profile name.' + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the worker subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + description: 'VmSize: The size of the worker VMs.' + type: string + type: object + type: array + required: + - location + - owner + type: object + status: + description: OpenShiftCluster represents an Azure Red Hat OpenShift cluster. + properties: + apiserverProfile: + description: 'ApiserverProfile: The cluster API server profile.' + properties: + ip: + description: 'Ip: The IP of the cluster API server.' + type: string + url: + description: 'Url: The URL to access the cluster API server.' + type: string + visibility: + description: 'Visibility: API server visibility.' + type: string + type: object + clusterProfile: + description: 'ClusterProfile: The cluster profile.' + properties: + domain: + description: 'Domain: The domain for the cluster.' + type: string + fipsValidatedModules: + description: 'FipsValidatedModules: If FIPS validated crypto modules are used' + type: string + resourceGroupId: + description: 'ResourceGroupId: The ID of the cluster resource group.' + type: string + version: + description: 'Version: The version of the cluster.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + consoleProfile: + description: 'ConsoleProfile: The console profile.' + properties: + url: + description: 'Url: The URL to access the cluster console.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ingressProfiles: + description: 'IngressProfiles: The cluster ingress profiles.' + items: + description: IngressProfile represents an ingress profile. + properties: + ip: + description: 'Ip: The IP of the ingress.' + type: string + name: + description: 'Name: The ingress profile name.' + type: string + visibility: + description: 'Visibility: Ingress visibility.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + masterProfile: + description: 'MasterProfile: The cluster master profile.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the master subnet.' + type: string + vmSize: + description: 'VmSize: The size of the master VMs.' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + networkProfile: + description: 'NetworkProfile: The cluster network profile.' + properties: + loadBalancerProfile: + description: 'LoadBalancerProfile: The cluster load balancer profile.' + properties: + effectiveOutboundIps: + description: 'EffectiveOutboundIps: The list of effective outbound IP addresses of the public load balancer.' + items: + description: EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. + properties: + id: + description: 'Id: The fully qualified Azure resource id of an IP address resource.' + type: string + type: object + type: array + managedOutboundIps: + description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' + properties: + count: + description: |- + Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load + balancer. Allowed values are in the range of 1 - 20. The default value is 1. + type: integer + type: object + type: object + outboundType: + description: 'OutboundType: The OutboundType used for egress traffic.' + type: string + podCidr: + description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' + type: string + preconfiguredNSG: + description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The cluster provisioning state.' + type: string + servicePrincipalProfile: + description: 'ServicePrincipalProfile: The cluster service principal profile.' + properties: + clientId: + description: 'ClientId: The client ID used for the cluster.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workerProfiles: + description: 'WorkerProfiles: The cluster worker profiles.' + items: + description: WorkerProfile represents a worker profile. + properties: + count: + description: 'Count: The number of worker VMs.' + type: integer + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + name: + description: 'Name: The worker profile name.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the worker subnet.' + type: string + vmSize: + description: 'VmSize: The size of the worker VMs.' + type: string + type: object + type: array + workerProfilesStatus: + description: 'WorkerProfilesStatus: The cluster worker profiles status.' + items: + description: WorkerProfile represents a worker profile. + properties: + count: + description: 'Count: The number of worker VMs.' + type: integer + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + name: + description: 'Name: The worker profile name.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the worker subnet.' + type: string + vmSize: + description: 'VmSize: The size of the worker VMs.' + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231122storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231122.OpenShiftCluster + Generator information: + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231122.OpenShiftCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiserverProfile: + description: |- + Storage version of v1api20231122.APIServerProfile + APIServerProfile represents an API server profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + visibility: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterProfile: + description: |- + Storage version of v1api20231122.ClusterProfile + ClusterProfile represents a cluster profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domain: + type: string + fipsValidatedModules: + type: string + pullSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceGroupId: + type: string + version: + type: string + type: object + ingressProfiles: + items: + description: |- + Storage version of v1api20231122.IngressProfile + IngressProfile represents an ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + visibility: + type: string + type: object + type: array + location: + type: string + masterProfile: + description: |- + Storage version of v1api20231122.MasterProfile + MasterProfile represents a master profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + encryptionAtHost: + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the master subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + type: string + type: object + networkProfile: + description: |- + Storage version of v1api20231122.NetworkProfile + NetworkProfile represents a network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20231122.LoadBalancerProfile + LoadBalancerProfile represents the profile of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedOutboundIps: + description: |- + Storage version of v1api20231122.ManagedOutboundIPs + ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + outboundType: + type: string + podCidr: + type: string + preconfiguredNSG: + type: string + serviceCidr: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20231122.OpenShiftClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231122.OpenShiftClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + password: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + username: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20231122.ServicePrincipalProfile + ServicePrincipalProfile represents a service principal profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + tags: + additionalProperties: + type: string + type: object + workerProfiles: + items: + description: |- + Storage version of v1api20231122.WorkerProfile + WorkerProfile represents a worker profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the worker subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + type: string + type: object + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20231122.OpenShiftCluster_STATUS + OpenShiftCluster represents an Azure Red Hat OpenShift cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiserverProfile: + description: |- + Storage version of v1api20231122.APIServerProfile_STATUS + APIServerProfile represents an API server profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ip: + type: string + url: + type: string + visibility: + type: string + type: object + clusterProfile: + description: |- + Storage version of v1api20231122.ClusterProfile_STATUS + ClusterProfile represents a cluster profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domain: + type: string + fipsValidatedModules: + type: string + resourceGroupId: + type: string + version: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + consoleProfile: + description: |- + Storage version of v1api20231122.ConsoleProfile_STATUS + ConsoleProfile represents a console profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + type: object + id: + type: string + ingressProfiles: + items: + description: |- + Storage version of v1api20231122.IngressProfile_STATUS + IngressProfile represents an ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ip: + type: string + name: + type: string + visibility: + type: string + type: object + type: array + location: + type: string + masterProfile: + description: |- + Storage version of v1api20231122.MasterProfile_STATUS + MasterProfile represents a master profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + encryptionAtHost: + type: string + subnetId: + type: string + vmSize: + type: string + type: object + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231122.NetworkProfile_STATUS + NetworkProfile represents a network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20231122.LoadBalancerProfile_STATUS + LoadBalancerProfile represents the profile of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIps: + items: + description: |- + Storage version of v1api20231122.EffectiveOutboundIP_STATUS + EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + managedOutboundIps: + description: |- + Storage version of v1api20231122.ManagedOutboundIPs_STATUS + ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + outboundType: + type: string + podCidr: + type: string + preconfiguredNSG: + type: string + serviceCidr: + type: string + type: object + provisioningState: + type: string + servicePrincipalProfile: + description: |- + Storage version of v1api20231122.ServicePrincipalProfile_STATUS + ServicePrincipalProfile represents a service principal profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + systemData: + description: |- + Storage version of v1api20231122.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + workerProfiles: + items: + description: |- + Storage version of v1api20231122.WorkerProfile_STATUS + WorkerProfile represents a worker profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + diskEncryptionSetId: + type: string + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetId: + type: string + vmSize: + type: string + type: object + type: array + workerProfilesStatus: + items: + description: |- + Storage version of v1api20231122.WorkerProfile_STATUS + WorkerProfile represents a worker profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + diskEncryptionSetId: + type: string + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetId: + type: string + vmSize: + type: string + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: policies.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Policy + listKind: PolicyList + plural: policies + singular: policy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Policy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Policy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.PolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Policy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Policy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Policy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.PolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Policy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Policy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Policy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.PolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Policy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: policyfragments.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: PolicyFragment + listKind: PolicyFragmentList + plural: policyfragments + singular: policyfragment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) + type: string + description: + description: 'Description: Policy fragment description.' + maxLength: 1000 + minLength: 0 + type: string + format: + description: 'Format: Format of the policy fragment content.' + enum: + - rawxml + - xml + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the policy fragment.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Policy fragment description.' + type: string + format: + description: 'Format: Format of the policy fragment content.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the policy fragment.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.PolicyFragment + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.PolicyFragment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.PolicyFragmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.PolicyFragment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) + type: string + description: + description: 'Description: Policy fragment description.' + maxLength: 1000 + minLength: 0 + type: string + format: + description: 'Format: Format of the policy fragment content.' + enum: + - rawxml + - xml + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the policy fragment.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Policy fragment description.' + type: string + format: + description: 'Format: Format of the policy fragment content.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the policy fragment.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.PolicyFragment + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.PolicyFragment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.PolicyFragmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.PolicyFragment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + format: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) + type: string + description: + description: 'Description: Policy fragment description.' + maxLength: 1000 + minLength: 0 + type: string + format: + description: 'Format: Format of the policy fragment content.' + enum: + - rawxml + - xml + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the policy fragment.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Policy fragment description.' + type: string + format: + description: 'Format: Format of the policy fragment content.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the policy fragment.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.PolicyFragment + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.PolicyFragment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.PolicyFragmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.PolicyFragment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + format: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: pricingplans.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: PricingPlan + listKind: PricingPlanList + plural: pricingplans + singular: pricingplan + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20171001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cap: + description: 'Cap: Daily data volume cap in GB.' + type: number + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a insights.azure.com/Component resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + planType: + description: 'PlanType: Pricing Plan Type Name.' + type: string + stopSendNotificationWhenHitCap: + description: 'StopSendNotificationWhenHitCap: Do not send a notification email when the daily data volume cap is met.' + type: boolean + stopSendNotificationWhenHitThreshold: + description: 'StopSendNotificationWhenHitThreshold: Reserved, not used for now.' + type: boolean + warningThreshold: + description: 'WarningThreshold: Reserved, not used for now.' + type: integer + required: + - owner + type: object + status: + properties: + cap: + description: 'Cap: Daily data volume cap in GB.' + type: number + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Azure resource Id.' + type: string + maxHistoryCap: + description: 'MaxHistoryCap: Maximum daily data volume cap that the user can set for this component.' + type: number + name: + description: 'Name: Azure resource name.' + type: string + planType: + description: 'PlanType: Pricing Plan Type Name.' + type: string + resetHour: + description: 'ResetHour: Daily data volume cap UTC reset hour.' + type: integer + stopSendNotificationWhenHitCap: + description: 'StopSendNotificationWhenHitCap: Do not send a notification email when the daily data volume cap is met.' + type: boolean + stopSendNotificationWhenHitThreshold: + description: 'StopSendNotificationWhenHitThreshold: Reserved, not used for now.' + type: boolean + type: + description: 'Type: Azure resource type.' + type: string + warningThreshold: + description: 'WarningThreshold: Reserved, not used for now.' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20171001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20171001.PricingPlan + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20171001.PricingPlan_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cap: + type: number + operatorSpec: + description: |- + Storage version of v1api20171001.PricingPlanOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a insights.azure.com/Component resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + planType: + type: string + stopSendNotificationWhenHitCap: + type: boolean + stopSendNotificationWhenHitThreshold: + type: boolean + warningThreshold: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20171001.PricingPlan_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cap: + type: number + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + maxHistoryCap: + type: number + name: + type: string + planType: + type: string + resetHour: + type: integer + stopSendNotificationWhenHitCap: + type: boolean + stopSendNotificationWhenHitThreshold: + type: boolean + type: + type: string + warningThreshold: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: principalassignments.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: PrincipalAssignment + listKind: PrincipalAssignmentList + plural: principalassignments + singular: principalassignment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: |- + PrincipalId: The principal ID assigned to the database principal. It can be a user email, application ID, or security + group name. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The principal ID assigned to the database principal. It can be a user email, application ID, or + security group name. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + description: 'PrincipalType: Principal type.' + enum: + - App + - Group + - User + type: string + role: + description: 'Role: Database principal role.' + enum: + - Admin + - Ingestor + - Monitor + - UnrestrictedViewer + - User + - Viewer + type: string + tenantId: + description: 'TenantId: The tenant id of the principal' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant id of the principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + - principalType + - role + type: object + status: + properties: + aadObjectId: + description: 'AadObjectId: The service principal object id in AAD (Azure active directory)' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + principalId: + description: |- + PrincipalId: The principal ID assigned to the database principal. It can be a user email, application ID, or security + group name. + type: string + principalName: + description: 'PrincipalName: The principal name' + type: string + principalType: + description: 'PrincipalType: Principal type.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + role: + description: 'Role: Database principal role.' + type: string + tenantId: + description: 'TenantId: The tenant id of the principal' + type: string + tenantName: + description: 'TenantName: The tenant name of the principal' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240413.PrincipalAssignment + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240413.PrincipalAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240413.PrincipalAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a kusto.azure.com/Database resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + type: string + role: + type: string + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240413.PrincipalAssignment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadObjectId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + principalId: + type: string + principalName: + type: string + principalType: + type: string + provisioningState: + type: string + role: + type: string + tenantId: + type: string + tenantName: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszones.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZone + listKind: PrivateDnsZoneList + plural: privatednszones + singular: privatednszone + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2018-09-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: The ETag of the zone.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the zone.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxNumberOfRecordSets: + description: |- + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinks: + description: |- + MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + description: |- + MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this + Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be + ignored. + type: integer + name: + description: 'Name: The name of the resource' + type: string + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any + attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinks: + description: |- + NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinksWithRegistration: + description: |- + NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS + zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. + type: integer + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180901.PrivateDnsZone + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2018-09-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180901.PrivateDnsZone_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180901.PrivateDnsZoneOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180901.PrivateDnsZone_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfVirtualNetworkLinks: + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + type: integer + name: + type: string + numberOfRecordSets: + type: integer + numberOfVirtualNetworkLinks: + type: integer + numberOfVirtualNetworkLinksWithRegistration: + type: integer + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: The ETag of the zone.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the zone.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + internalId: + description: 'InternalId: Private zone internal Id' + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxNumberOfRecordSets: + description: |- + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinks: + description: |- + MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + description: |- + MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this + Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be + ignored. + type: integer + name: + description: 'Name: The name of the resource' + type: string + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any + attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinks: + description: |- + NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinksWithRegistration: + description: |- + NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS + zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. + type: integer + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZone + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZone_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZoneOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZone_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + internalId: + type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfVirtualNetworkLinks: + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + type: integer + name: + type: string + numberOfRecordSets: + type: integer + numberOfVirtualNetworkLinks: + type: integer + numberOfVirtualNetworkLinksWithRegistration: + type: integer + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonesaaaarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesAAAARecord + listKind: PrivateDnsZonesAAAARecordList + plural: privatednszonesaaaarecords + singular: privatednszonesaaaarecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesAAAARecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesAAAARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesAAAARecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesAAAARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonesarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesARecord + listKind: PrivateDnsZonesARecordList + plural: privatednszonesarecords + singular: privatednszonesarecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesARecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesARecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesARecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonescnamerecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesCNAMERecord + listKind: PrivateDnsZonesCNAMERecordList + plural: privatednszonescnamerecords + singular: privatednszonescnamerecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesCNAMERecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesCNAMERecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesCNAMERecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesCNAMERecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonesmxrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesMXRecord + listKind: PrivateDnsZonesMXRecordList + plural: privatednszonesmxrecords + singular: privatednszonesmxrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesMXRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesMXRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesMXRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesMXRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonesptrrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesPTRRecord + listKind: PrivateDnsZonesPTRRecordList + plural: privatednszonesptrrecords + singular: privatednszonesptrrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesPTRRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesPTRRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesPTRRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesPTRRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonessrvrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesSRVRecord + listKind: PrivateDnsZonesSRVRecordList + plural: privatednszonessrvrecords + singular: privatednszonessrvrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesSRVRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesSRVRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesSRVRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesSRVRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonestxtrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesTXTRecord + listKind: PrivateDnsZonesTXTRecordList + plural: privatednszonestxtrecords + singular: privatednszonestxtrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesTXTRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesTXTRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesTXTRecord + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: + type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesTXTRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatednszonesvirtualnetworklinks.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesVirtualNetworkLink + listKind: PrivateDnsZonesVirtualNetworkLinkList + plural: privatednszonesvirtualnetworklinks + singular: privatednszonesvirtualnetworklink + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: The ETag of the virtual network link.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the virtual network link.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetworkLinkState: + description: |- + VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are + 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20200601.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + registrationEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20200601.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetworkLinkState: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: The ETag of the virtual network link.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + resolutionPolicy: + description: |- + ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to + privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public + resolution if private dns query resolution results in non-existent domain response. + enum: + - Default + - NxDomainRedirect + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The ETag of the virtual network link.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + resolutionPolicy: + description: |- + ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to + privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public + resolution if private dns query resolution results in non-existent domain response. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetworkLinkState: + description: |- + VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are + 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/PrivateDns/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + type: boolean + resolutionPolicy: + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240601.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + registrationEnabled: + type: boolean + resolutionPolicy: + type: string + systemData: + description: |- + Storage version of v1api20240601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20240601.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetworkLinkState: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privateendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateEndpoint + listKind: PrivateEndpointList + plural: privateendpoints + singular: privateendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. + items: + description: PrivateLinkServiceConnection resource. + properties: + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + primaryNicPrivateIpAddress: + description: |- + PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + items: + description: PrivateLinkServiceConnection resource. + properties: + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: object + type: array + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Private endpoint resource. + properties: + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDnsConfigs: + description: 'CustomDnsConfigs: An array of custom dns configurations.' + items: + description: Contains custom Dns resolution configuration from customer. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: A list of private ip addresses of the private endpoint.' + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. + items: + description: PrivateLinkServiceConnection resource. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + items: + description: PrivateLinkServiceConnection resource. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + type: string + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.PrivateEndpoint + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.PrivateEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customNetworkInterfaceName: + type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.PrivateEndpointIPConfiguration + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: object + type: array + location: + type: string + manualPrivateLinkServiceConnections: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20220701.PrivateEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220701.PrivateEndpointOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryNicPrivateIpAddress: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkServiceConnections: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + type: object + type: array + subnet: + description: |- + Storage version of v1api20220701.Subnet_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.PrivateEndpoint_STATUS + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDnsConfigs: + items: + description: |- + Storage version of v1api20220701.CustomDnsConfigPropertiesFormat_STATUS + Contains custom Dns resolution configuration from customer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + type: string + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.PrivateEndpointIPConfiguration_STATUS + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: + type: string + type: object + type: array + location: + type: string + manualPrivateLinkServiceConnections: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string + type: object + type: array + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20220701.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkServiceConnections: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string + type: object + type: array + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20220701.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. + items: + description: PrivateLinkServiceConnection resource. + properties: + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + primaryNicPrivateIpAddress: + description: |- + PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + items: + description: PrivateLinkServiceConnection resource. + properties: + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: object + type: array + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Private endpoint resource. + properties: + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDnsConfigs: + description: 'CustomDnsConfigs: An array of custom dns configurations.' + items: + description: Contains custom Dns resolution configuration from customer. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: A list of private ip addresses of the private endpoint.' + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. + items: + description: PrivateLinkServiceConnection resource. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + items: + description: PrivateLinkServiceConnection resource. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + type: string + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PrivateEndpoint + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PrivateEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customNetworkInterfaceName: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointIPConfiguration + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: object + type: array + location: + type: string + manualPrivateLinkServiceConnections: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240301.PrivateEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240301.PrivateEndpointOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryNicPrivateIpAddress: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkServiceConnections: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + type: object + type: array + subnet: + description: |- + Storage version of v1api20240301.Subnet_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PrivateEndpoint_STATUS + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDnsConfigs: + items: + description: |- + Storage version of v1api20240301.CustomDnsConfigPropertiesFormat_STATUS + Contains custom Dns resolution configuration from customer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + type: string + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointIPConfiguration_STATUS + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: + type: string + type: object + type: array + location: + type: string + manualPrivateLinkServiceConnections: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string + type: object + type: array + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkServiceConnections: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string + type: object + type: array + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privateendpointsprivatednszonegroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateEndpointsPrivateDnsZoneGroup + listKind: PrivateEndpointsPrivateDnsZoneGroupList + plural: privateendpointsprivatednszonegroups + singular: privateendpointsprivatednszonegroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneId: + description: 'PrivateDnsZoneId: The resource id of the private dns zone.' + type: string + recordSets: + description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' + items: + description: A collective group of information about the record set information. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: The private ip address of the private endpoint.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the recordset.' + type: string + recordSetName: + description: 'RecordSetName: Recordset name.' + type: string + recordType: + description: 'RecordType: Resource record type.' + type: string + ttl: + description: 'Ttl: Recordset time to live.' + type: integer + type: object + type: array + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20220701.PrivateDnsZoneConfig + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + name: + type: string + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20220701.PrivateDnsZoneConfig_STATUS + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneId: + type: string + recordSets: + items: + description: |- + Storage version of v1api20220701.RecordSet_STATUS + A collective group of information about the record set information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + provisioningState: + type: string + recordSetName: + type: string + recordType: + type: string + ttl: + type: integer + type: object + type: array + type: object + type: array + provisioningState: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneId: + description: 'PrivateDnsZoneId: The resource id of the private dns zone.' + type: string + recordSets: + description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' + items: + description: A collective group of information about the record set information. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: The private ip address of the private endpoint.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the recordset.' + type: string + recordSetName: + description: 'RecordSetName: Recordset name.' + type: string + recordType: + description: 'RecordType: Resource record type.' + type: string + ttl: + description: 'Ttl: Recordset time to live.' + type: integer + type: object + type: array + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20240301.PrivateDnsZoneConfig + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + name: + type: string + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20240301.PrivateDnsZoneConfig_STATUS + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneId: + type: string + recordSets: + items: + description: |- + Storage version of v1api20240301.RecordSet_STATUS + A collective group of information about the record set information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + provisioningState: + type: string + recordSetName: + type: string + recordType: + type: string + ttl: + type: integer + type: object + type: array + type: object + type: array + provisioningState: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: privatelinkservices.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateLinkService + listKind: PrivateLinkServiceList + plural: privatelinkservices + singular: privatelinkservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array + ipConfigurations: + description: 'IpConfigurations: An array of private link service IP configurations.' + items: + description: The private link service ip configuration. + properties: + name: + description: 'Name: The name of private link service ip configuration.' + type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' + items: + description: Frontend IP address of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + alias: + description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + required: + - owner + type: object + status: + description: Private link service resource. + properties: + alias: + description: 'Alias: The alias of the private link service.' + type: string + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: An array of private link service IP configurations.' + items: + description: The private link service ip configuration. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of private link service ip configuration.' + type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' + items: + description: Frontend IP address of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' + items: + description: PrivateEndpointConnection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.PrivateLinkService + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.PrivateLinkService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoApproval: + description: |- + Storage version of v1api20220701.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableProxyProtocol: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdns: + items: + type: string + type: array + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceIpConfiguration + The private link service ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20220701.Subnet_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20220701.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.PrivateLinkServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220701.PrivateLinkServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alias: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + visibility: + description: |- + Storage version of v1api20220701.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.PrivateLinkService_STATUS + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alias: + type: string + autoApproval: + description: |- + Storage version of v1api20220701.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableProxyProtocol: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdns: + items: + type: string + type: array + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.PrivateLinkServiceIpConfiguration_STATUS + The private link service ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20220701.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20220701.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20220701.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220701.PrivateEndpointConnection_STATUS + PrivateEndpointConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + visibility: + description: |- + Storage version of v1api20220701.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + destinationIPAddress: + description: 'DestinationIPAddress: The destination IP address of the private link service.' + type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array + ipConfigurations: + description: 'IpConfigurations: An array of private link service IP configurations.' + items: + description: The private link service ip configuration. + properties: + name: + description: 'Name: The name of private link service ip configuration.' + type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' + items: + description: Frontend IP address of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + alias: + description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + required: + - owner + type: object + status: + description: Private link service resource. + properties: + alias: + description: 'Alias: The alias of the private link service.' + type: string + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + destinationIPAddress: + description: 'DestinationIPAddress: The destination IP address of the private link service.' + type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: An array of private link service IP configurations.' + items: + description: The private link service ip configuration. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of private link service ip configuration.' + type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' + items: + description: Frontend IP address of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' + items: + description: PrivateEndpointConnection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PrivateLinkService + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PrivateLinkService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoApproval: + description: |- + Storage version of v1api20240301.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + destinationIPAddress: + type: string + enableProxyProtocol: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdns: + items: + type: string + type: array + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceIpConfiguration + The private link service ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20240301.Subnet_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.PrivateLinkServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240301.PrivateLinkServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alias: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + visibility: + description: |- + Storage version of v1api20240301.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PrivateLinkService_STATUS + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alias: + type: string + autoApproval: + description: |- + Storage version of v1api20240301.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + destinationIPAddress: + type: string + enableProxyProtocol: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdns: + items: + type: string + type: array + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.PrivateLinkServiceIpConfiguration_STATUS + The private link service ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + networkInterfaces: + items: + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointConnection_STATUS + PrivateEndpointConnection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + visibility: + description: |- + Storage version of v1api20240301.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: productapis.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: ProductApi + listKind: ProductApiList + plural: productapis + singular: productapi + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.ProductApi + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.ProductApi_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ProductApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.ProductApi_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.ProductApi + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.ProductApi_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ProductApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.ProductApi_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.ProductApi + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.ProductApi_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.ProductApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240501.ProductApi_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: productpolicies.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: ProductPolicy + listKind: ProductPolicyList + plural: productpolicies + singular: productpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.ProductPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.ProductPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ProductPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.ProductPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.ProductPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.ProductPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ProductPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.ProductPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + required: + - owner + - value + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.ProductPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.ProductPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.ProductPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Product resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.ProductPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + format: + type: string + id: + type: string + name: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: products.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Product + listKind: ProductList + plural: products + singular: product + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + type: string + description: + description: 'Description: Product description. May include HTML formatting tags.' + maxLength: 1000 + minLength: 0 + type: string + displayName: + description: 'DisplayName: Product name.' + maxLength: 300 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + enum: + - notPublished + - published + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + required: + - displayName + - owner + type: object + status: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Product description. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: Product name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Product + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Product_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ProductOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Product_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + type: string + description: + description: 'Description: Product description. May include HTML formatting tags.' + maxLength: 1000 + minLength: 0 + type: string + displayName: + description: 'DisplayName: Product name.' + maxLength: 300 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + enum: + - notPublished + - published + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + required: + - displayName + - owner + type: object + status: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Product description. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: Product name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Product + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Product_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ProductOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Product_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + type: string + description: + description: 'Description: Product description. May include HTML formatting tags.' + maxLength: 1000 + minLength: 0 + type: string + displayName: + description: 'DisplayName: Product name.' + maxLength: 300 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + enum: + - notPublished + - published + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + required: + - displayName + - owner + type: object + status: + properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Product description. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: Product name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Product + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Product_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.ProductOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Product_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approvalRequired: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: profiles.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: Profile + listKind: ProfileList + plural: profiles + singular: profile + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + minimum: 16 + type: integer + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + enum: + - Custom_Verizon + - Premium_AzureFrontDoor + - Premium_Verizon + - StandardPlus_955BandWidth_ChinaCdn + - StandardPlus_AvgBandWidth_ChinaCdn + - StandardPlus_ChinaCdn + - Standard_955BandWidth_ChinaCdn + - Standard_Akamai + - Standard_AvgBandWidth_ChinaCdn + - Standard_AzureFrontDoor + - Standard_ChinaCdn + - Standard_Microsoft + - Standard_Verizon + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + description: A profile is a logical grouping of endpoints that share the same settings. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + frontDoorId: + description: 'FrontDoorId: The Id of the frontdoor.' + type: string + id: + description: 'Id: Resource ID.' + type: string + kind: + description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status of the profile.' + type: string + resourceState: + description: 'ResourceState: Resource status of the profile.' + type: string + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.Profile + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.Profile_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.ProfileOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originResponseTimeoutSeconds: + type: integer + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20210601.Sku + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210601.Profile_STATUS + A profile is a logical grouping of endpoints that share the same settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + frontDoorId: + type: string + id: + type: string + kind: + type: string + location: + type: string + name: + type: string + originResponseTimeoutSeconds: + type: integer + provisioningState: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20210601.Sku_STATUS + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + minimum: 16 + type: integer + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + enum: + - Custom_Verizon + - Premium_AzureFrontDoor + - Premium_Verizon + - StandardPlus_955BandWidth_ChinaCdn + - StandardPlus_AvgBandWidth_ChinaCdn + - StandardPlus_ChinaCdn + - Standard_955BandWidth_ChinaCdn + - Standard_Akamai + - Standard_AvgBandWidth_ChinaCdn + - Standard_AzureFrontDoor + - Standard_ChinaCdn + - Standard_Microsoft + - Standard_Verizon + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + description: A profile is a logical grouping of endpoints that share the same settings. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing additional properties for profiles.' + type: object + frontDoorId: + description: 'FrontDoorId: The Id of the frontdoor.' + type: string + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status of the profile.' + type: string + resourceState: + description: 'ResourceState: Resource status of the profile.' + type: string + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.Profile + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.Profile_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20230501.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.ProfileOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originResponseTimeoutSeconds: + type: integer + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20230501.Sku + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230501.Profile_STATUS + A profile is a logical grouping of endpoints that share the same settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedProperties: + additionalProperties: + type: string + type: object + frontDoorId: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230501.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230501.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + name: + type: string + originResponseTimeoutSeconds: + type: integer + provisioningState: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20230501.Sku_STATUS + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: profilesendpoints.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: ProfilesEndpoint + listKind: ProfilesEndpointList + plural: profilesendpoints + singular: profilesendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + defaultOriginGroup: + description: 'DefaultOriginGroup: A reference to the origin group.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + deliveryPolicy: + description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' + properties: + description: + description: 'Description: User-friendly description of the policy.' + type: string + rules: + description: 'Rules: A list of the delivery rules.' + items: + description: A rule that specifies a set of actions and conditions + properties: + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheExpiration + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - BypassCache + - Override + - SetIfMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + enum: + - All + type: string + typeName: + enum: + - DeliveryRuleCacheExpirationActionParameters + type: string + required: + - cacheBehavior + - cacheType + - typeName + type: object + required: + - name + - parameters + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheKeyQueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + enum: + - Exclude + - ExcludeAll + - Include + - IncludeAll + type: string + typeName: + enum: + - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters + type: string + required: + - queryStringBehavior + - typeName + type: object + required: + - name + - parameters + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyRequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyResponseHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - OriginGroupOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + enum: + - DeliveryRuleOriginGroupOverrideActionParameters + type: string + required: + - originGroup + - typeName + type: object + required: + - name + - parameters + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - RouteConfigurationOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - HonorOrigin + - OverrideAlways + - OverrideIfOriginMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + enum: + - Disabled + - Enabled + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enum: + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + enum: + - DeliveryRuleRouteConfigurationOverrideActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRedirect + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + enum: + - Http + - Https + - MatchRequest + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + enum: + - Found + - Moved + - PermanentRedirect + - TemporaryRedirect + type: string + typeName: + enum: + - DeliveryRuleUrlRedirectActionParameters + type: string + required: + - redirectType + - typeName + type: object + required: + - name + - parameters + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRewrite + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + enum: + - DeliveryRuleUrlRewriteActionParameters + type: string + required: + - destination + - sourcePattern + - typeName + type: object + required: + - name + - parameters + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlSigning + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + enum: + - SHA256 + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + enum: + - Expires + - KeyId + - Signature + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + required: + - paramIndicator + - paramName + type: object + type: array + typeName: + enum: + - DeliveryRuleUrlSigningActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array + conditions: + description: 'Conditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ClientPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleClientPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - Cookies + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleCookiesConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HostName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHostNameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HttpVersion + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHttpVersionConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - IsDevice + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - Desktop + - Mobile + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleIsDeviceConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - PostArgs + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRulePostArgsConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - QueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleQueryStringConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RemoteAddress + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - GeoMatch + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRemoteAddressConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestBody + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestBodyConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestHeaderConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestMethod + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - POST + - PUT + - TRACE + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestMethodConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestScheme + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - HTTP + - HTTPS + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestSchemeConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestUri + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestUriConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ServerPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleServerPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SocketAddr + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSocketAddrConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SslProtocol + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + enum: + - TLSv1 + - TLSv1.1 + - TLSv1.2 + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSslProtocolConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileExtension + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFileExtensionMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFilenameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlPath + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + - Wildcard + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlPathMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array + name: + description: 'Name: Name of the rule' + type: string + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + required: + - actions + - order + type: object + type: array + required: + - rules + type: object + geoFilters: + description: |- + GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule + to a specified path or content, e.g. block APAC for path /pictures/ + items: + description: Rules defining user's geo access within a CDN endpoint. + properties: + action: + description: 'Action: Action of the geo filter, i.e. allow or block access.' + enum: + - Allow + - Block + type: string + countryCodes: + description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' + items: + type: string + type: array + relativePath: + description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' + type: string + required: + - action + - countryCodes + - relativePath + type: object + type: array + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is + enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on + CDN when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + isHttpAllowed: + description: |- + IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + isHttpsAllowed: + description: |- + IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizationType: + description: |- + OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media + services. With this information, CDN can apply scenario driven optimization. + enum: + - DynamicSiteAcceleration + - GeneralMediaStreaming + - GeneralWebDelivery + - LargeFileDownload + - VideoOnDemandMediaStreaming + type: string + originGroups: + description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' + items: + description: |- + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + maximum: 255 + minimum: 1 + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + enum: + - Http + - Https + - NotSet + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + enum: + - GET + - HEAD + - NotSet + type: string + type: object + name: + description: 'Name: Origin group name which must be unique within the endpoint.' + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN within given origin group.' + items: + description: Reference to another resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + responseBasedOriginErrorDetectionSettings: + description: |- + ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using + real requests/responses.This property is currently not supported. + properties: + httpErrorRanges: + description: |- + HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as + unhealthy. + items: + description: The JSON object that represents the range for http status codes + properties: + begin: + description: 'Begin: The inclusive start of the http status code range.' + maximum: 999 + minimum: 100 + type: integer + end: + description: 'End: The inclusive end of the http status code range.' + maximum: 999 + minimum: 100 + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' + enum: + - None + - TcpAndHttpErrors + - TcpErrorsOnly + type: string + responseBasedFailoverThresholdPercentage: + description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' + maximum: 100 + minimum: 0 + type: integer + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + maximum: 50 + minimum: 0 + type: integer + required: + - name + - origins + type: object + type: array + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed + when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, + the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services + require this host header value to match the origin hostname by default. + type: string + originPath: + description: |- + OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN.' + items: + description: The main origin of CDN content which is added when creating a CDN endpoint. + properties: + enabled: + description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' + type: boolean + hostName: + description: |- + HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique + across all origins in an endpoint. + type: string + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + name: + description: 'Name: Origin name which must be unique within the endpoint.' + type: string + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host + header value to match the origin hostname by default. + type: string + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5. + maximum: 5 + minimum: 1 + type: integer + privateLinkAlias: + description: |- + PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is + 'Private' + type: string + privateLinkApprovalMessage: + description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' + type: string + privateLinkLocationReference: + description: |- + PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is + populated + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateLinkResourceReference: + description: |- + PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates + that this backend is 'Private' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + maximum: 1000 + minimum: 1 + type: integer + required: + - hostName + - name + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probePath: + description: |- + ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the + most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single + origin. + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings + when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request + with a unique URL. + enum: + - BypassCaching + - IgnoreQueryString + - NotSet + - UseQueryString + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + urlSigningKeys: + description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + items: + description: Url signing key + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + keySourceParameters: + description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' + properties: + resourceGroupName: + description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' + type: string + secretName: + description: 'SecretName: The name of secret in Key Vault.' + type: string + secretVersion: + description: 'SecretVersion: The version(GUID) of secret in Key Vault.' + type: string + subscriptionId: + description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' + type: string + typeName: + enum: + - KeyVaultSigningKeyParameters + type: string + vaultName: + description: 'VaultName: The name of the user''s Key Vault containing the secret' + type: string + required: + - resourceGroupName + - secretName + - secretVersion + - subscriptionId + - typeName + - vaultName + type: object + required: + - keyId + - keySourceParameters + type: object + type: array + webApplicationFirewallPolicyLink: + description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - location + - origins + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + customDomains: + description: 'CustomDomains: The custom domains under the endpoint.' + items: + description: Custom domains created on the CDN endpoint. + properties: + hostName: + description: 'HostName: The host name of the custom domain. Must be a domain name.' + type: string + name: + description: 'Name: Custom domain name.' + type: string + validationData: + description: |- + ValidationData: Special validation or data may be required when delivering CDN to some regions due to local compliance + reasons. E.g. ICP license number of a custom domain is required to deliver content in China. + type: string + type: object + type: array + defaultOriginGroup: + description: 'DefaultOriginGroup: A reference to the origin group.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + deliveryPolicy: + description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' + properties: + description: + description: 'Description: User-friendly description of the policy.' + type: string + rules: + description: 'Rules: A list of the delivery rules.' + items: + description: A rule that specifies a set of actions and conditions + properties: + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + description: 'Conditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + name: + description: 'Name: Name of the rule' + type: string + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + type: object + type: array + type: object + geoFilters: + description: |- + GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule + to a specified path or content, e.g. block APAC for path /pictures/ + items: + description: Rules defining user's geo access within a CDN endpoint. + properties: + action: + description: 'Action: Action of the geo filter, i.e. allow or block access.' + type: string + countryCodes: + description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' + items: + type: string + type: array + relativePath: + description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' + type: string + type: object + type: array + hostName: + description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' + type: string + id: + description: 'Id: Resource ID.' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is + enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on + CDN when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + isHttpAllowed: + description: |- + IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + isHttpsAllowed: + description: |- + IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + optimizationType: + description: |- + OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media + services. With this information, CDN can apply scenario driven optimization. + type: string + originGroups: + description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' + items: + description: |- + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + type: string + type: object + name: + description: 'Name: Origin group name which must be unique within the endpoint.' + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN within given origin group.' + items: + description: Reference to another resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + responseBasedOriginErrorDetectionSettings: + description: |- + ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using + real requests/responses.This property is currently not supported. + properties: + httpErrorRanges: + description: |- + HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as + unhealthy. + items: + description: The JSON object that represents the range for http status codes + properties: + begin: + description: 'Begin: The inclusive start of the http status code range.' + type: integer + end: + description: 'End: The inclusive end of the http status code range.' + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' + type: string + responseBasedFailoverThresholdPercentage: + description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' + type: integer + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + type: integer + type: object + type: array + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed + when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, + the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services + require this host header value to match the origin hostname by default. + type: string + originPath: + description: |- + OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN.' + items: + description: The main origin of CDN content which is added when creating a CDN endpoint. + properties: + enabled: + description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' + type: boolean + hostName: + description: |- + HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique + across all origins in an endpoint. + type: string + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + type: integer + name: + description: 'Name: Origin name which must be unique within the endpoint.' + type: string + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host + header value to match the origin hostname by default. + type: string + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5. + type: integer + privateEndpointStatus: + description: 'PrivateEndpointStatus: The approval status for the connection to the Private Link' + type: string + privateLinkAlias: + description: |- + PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is + 'Private' + type: string + privateLinkApprovalMessage: + description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' + type: string + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the Private Link resource. Required only if ''privateLinkResourceId'' is populated' + type: string + privateLinkResourceId: + description: |- + PrivateLinkResourceId: The Resource Id of the Private Link resource. Populating this optional field indicates that this + backend is 'Private' + type: string + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + type: integer + type: object + type: array + probePath: + description: |- + ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the + most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single + origin. + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status of the endpoint.' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings + when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request + with a unique URL. + type: string + resourceState: + description: 'ResourceState: Resource status of the endpoint.' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + urlSigningKeys: + description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + items: + description: Url signing key + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + keySourceParameters: + description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' + properties: + resourceGroupName: + description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' + type: string + secretName: + description: 'SecretName: The name of secret in Key Vault.' + type: string + secretVersion: + description: 'SecretVersion: The version(GUID) of secret in Key Vault.' + type: string + subscriptionId: + description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' + type: string + typeName: + type: string + vaultName: + description: 'VaultName: The name of the user''s Key Vault containing the secret' + type: string + type: object + type: object + type: array + webApplicationFirewallPolicyLink: + description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.ProfilesEndpoint + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.ProfilesEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contentTypesToCompress: + items: + type: string + type: array + defaultOriginGroup: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + deliveryPolicy: + description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + rules: + items: + description: |- + Storage version of v1api20210601.DeliveryRule + A rule that specifies a set of actions and conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleAction + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheExpirationActionParameters + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheKeyQueryStringActionParameters + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20210601.OriginGroupOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.OriginGroupOverrideActionParameters + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RouteConfigurationOverrideActionParameters + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20210601.CacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20210601.OriginGroupOverride + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20210601.UrlRedirectAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRedirectActionParameters + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20210601.UrlRewriteAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRewriteActionParameters + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20210601.UrlSigningAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlSigningActionParameters + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20210601.UrlSigningParamIdentifier + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleCondition + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20210601.DeliveryRuleClientPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ClientPortMatchConditionParameters + Defines the parameters for ClientPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: Storage version of v1api20210601.DeliveryRuleCookiesCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CookiesMatchConditionParameters + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: Storage version of v1api20210601.DeliveryRuleHostNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HostNameMatchConditionParameters + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HttpVersionMatchConditionParameters + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.IsDeviceMatchConditionParameters + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: Storage version of v1api20210601.DeliveryRulePostArgsCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.PostArgsMatchConditionParameters + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.QueryStringMatchConditionParameters + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RemoteAddressMatchConditionParameters + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestBodyMatchConditionParameters + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestHeaderMatchConditionParameters + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestMethodMatchConditionParameters + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestSchemeMatchConditionParameters + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestUriMatchConditionParameters + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: Storage version of v1api20210601.DeliveryRuleServerPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ServerPortMatchConditionParameters + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SocketAddrMatchConditionParameters + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SslProtocolMatchConditionParameters + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileNameMatchConditionParameters + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlPathMatchConditionParameters + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + name: + type: string + order: + type: integer + type: object + type: array + type: object + geoFilters: + items: + description: |- + Storage version of v1api20210601.GeoFilter + Rules defining user's geo access within a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + countryCodes: + items: + type: string + type: array + relativePath: + type: string + type: object + type: array + isCompressionEnabled: + type: boolean + isHttpAllowed: + type: boolean + isHttpsAllowed: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.ProfilesEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizationType: + type: string + originGroups: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOriginGroup + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbeSettings: + description: |- + Storage version of v1api20210601.HealthProbeParameters + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + name: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + responseBasedOriginErrorDetectionSettings: + description: |- + Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters + The JSON object that contains the properties to determine origin health using real requests/responses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpErrorRanges: + items: + description: |- + Storage version of v1api20210601.HttpErrorRangeParameters + The JSON object that represents the range for http status codes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + begin: + type: integer + end: + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + type: string + responseBasedFailoverThresholdPercentage: + type: integer + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: object + type: array + originHostHeader: + type: string + originPath: + type: string + originalVersion: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOrigin + The main origin of CDN content which is added when creating a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + hostName: + type: string + httpPort: + type: integer + httpsPort: + type: integer + name: + type: string + originHostHeader: + type: string + priority: + type: integer + privateLinkAlias: + type: string + privateLinkApprovalMessage: + type: string + privateLinkLocationReference: + description: |- + PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is + populated + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateLinkResourceReference: + description: |- + PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates + that this backend is 'Private' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + weight: + type: integer + type: object + type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + probePath: + type: string + queryStringCachingBehavior: + type: string + tags: + additionalProperties: + type: string + type: object + urlSigningKeys: + items: + description: |- + Storage version of v1api20210601.UrlSigningKey + Url signing key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + keySourceParameters: + description: |- + Storage version of v1api20210601.KeyVaultSigningKeyParameters + Describes the parameters for using a user's KeyVault for URL Signing Key. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceGroupName: + type: string + secretName: + type: string + secretVersion: + type: string + subscriptionId: + type: string + typeName: + type: string + vaultName: + type: string + type: object + type: object + type: array + webApplicationFirewallPolicyLink: + description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210601.ProfilesEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contentTypesToCompress: + items: + type: string + type: array + customDomains: + items: + description: |- + Storage version of v1api20210601.DeepCreatedCustomDomain_STATUS + Custom domains created on the CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + type: string + name: + type: string + validationData: + type: string + type: object + type: array + defaultOriginGroup: + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + deliveryPolicy: + description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + rules: + items: + description: |- + Storage version of v1api20210601.DeliveryRule_STATUS + A rule that specifies a set of actions and conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleAction_STATUS + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheExpirationActionParameters_STATUS + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheKeyQueryStringActionParameters_STATUS + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20210601.OriginGroupOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.OriginGroupOverrideActionParameters_STATUS + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RouteConfigurationOverrideActionParameters_STATUS + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20210601.CacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20210601.OriginGroupOverride_STATUS + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20210601.UrlRedirectAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRedirectActionParameters_STATUS + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20210601.UrlRewriteAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRewriteActionParameters_STATUS + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20210601.UrlSigningAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlSigningActionParameters_STATUS + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20210601.UrlSigningParamIdentifier_STATUS + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleCondition_STATUS + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20210601.DeliveryRuleClientPortCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ClientPortMatchConditionParameters_STATUS + Defines the parameters for ClientPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: Storage version of v1api20210601.DeliveryRuleCookiesCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CookiesMatchConditionParameters_STATUS + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: Storage version of v1api20210601.DeliveryRuleHostNameCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HostNameMatchConditionParameters_STATUS + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HttpVersionMatchConditionParameters_STATUS + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.IsDeviceMatchConditionParameters_STATUS + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: Storage version of v1api20210601.DeliveryRulePostArgsCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.PostArgsMatchConditionParameters_STATUS + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.QueryStringMatchConditionParameters_STATUS + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RemoteAddressMatchConditionParameters_STATUS + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestBodyMatchConditionParameters_STATUS + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestHeaderMatchConditionParameters_STATUS + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestMethodMatchConditionParameters_STATUS + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestSchemeMatchConditionParameters_STATUS + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestUriMatchConditionParameters_STATUS + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: Storage version of v1api20210601.DeliveryRuleServerPortCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ServerPortMatchConditionParameters_STATUS + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SocketAddrMatchConditionParameters_STATUS + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SslProtocolMatchConditionParameters_STATUS + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters_STATUS + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileNameMatchConditionParameters_STATUS + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlPathMatchConditionParameters_STATUS + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + name: + type: string + order: + type: integer + type: object + type: array + type: object + geoFilters: + items: + description: |- + Storage version of v1api20210601.GeoFilter_STATUS + Rules defining user's geo access within a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + countryCodes: + items: + type: string + type: array + relativePath: + type: string + type: object + type: array + hostName: + type: string + id: + type: string + isCompressionEnabled: + type: boolean + isHttpAllowed: + type: boolean + isHttpsAllowed: + type: boolean + location: + type: string + name: + type: string + optimizationType: + type: string + originGroups: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOriginGroup_STATUS + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbeSettings: + description: |- + Storage version of v1api20210601.HealthProbeParameters_STATUS + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + name: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + responseBasedOriginErrorDetectionSettings: + description: |- + Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters_STATUS + The JSON object that contains the properties to determine origin health using real requests/responses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpErrorRanges: + items: + description: |- + Storage version of v1api20210601.HttpErrorRangeParameters_STATUS + The JSON object that represents the range for http status codes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + begin: + type: integer + end: + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + type: string + responseBasedFailoverThresholdPercentage: + type: integer + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: object + type: array + originHostHeader: + type: string + originPath: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOrigin_STATUS + The main origin of CDN content which is added when creating a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + hostName: + type: string + httpPort: + type: integer + httpsPort: + type: integer + name: + type: string + originHostHeader: + type: string + priority: + type: integer + privateEndpointStatus: + type: string + privateLinkAlias: + type: string + privateLinkApprovalMessage: + type: string + privateLinkLocation: + type: string + privateLinkResourceId: + type: string + weight: + type: integer + type: object + type: array + probePath: + type: string + provisioningState: + type: string + queryStringCachingBehavior: + type: string + resourceState: + type: string + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + urlSigningKeys: + items: + description: |- + Storage version of v1api20210601.UrlSigningKey_STATUS + Url signing key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + keySourceParameters: + description: |- + Storage version of v1api20210601.KeyVaultSigningKeyParameters_STATUS + Describes the parameters for using a user's KeyVault for URL Signing Key. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceGroupName: + type: string + secretName: + type: string + secretVersion: + type: string + subscriptionId: + type: string + typeName: + type: string + vaultName: + type: string + type: object + type: object + type: array + webApplicationFirewallPolicyLink: + description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: prometheusrulegroups.alertsmanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: alertsmanagement.azure.com + names: + categories: + - azure + - alertsmanagement + kind: PrometheusRuleGroup + listKind: PrometheusRuleGroupList + plural: prometheusrulegroups + singular: prometheusrulegroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[^:@/#{}%&+*<>?]+$ + type: string + clusterName: + description: 'ClusterName: Apply rule to data from a specific cluster.' + type: string + description: + description: 'Description: Rule group description.' + type: string + enabled: + description: 'Enabled: Enable/disable rule group.' + type: boolean + interval: + description: |- + Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be + between 1 and 15 minutes + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rules: + description: 'Rules: Defines the rules in the Prometheus rule group.' + items: + description: An Azure Prometheus alerting or recording rule. + properties: + actions: + description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' + items: + description: An alert action. Only relevant for alerts. + properties: + actionGroupReference: + description: 'ActionGroupReference: The resource id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action group object.' + type: object + type: object + type: array + alert: + description: 'Alert: Alert rule name.' + type: string + annotations: + additionalProperties: + type: string + description: |- + Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional + information such as alert descriptions or runbook links. The annotation values can be templated. + type: object + enabled: + description: 'Enabled: Enable/disable rule.' + type: boolean + expression: + description: |- + Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated + periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given + by 'record'. + type: string + for: + description: 'For: The amount of time alert must be active before firing.' + type: string + labels: + additionalProperties: + type: string + description: 'Labels: Labels to add or overwrite before storing the result.' + type: object + record: + description: 'Record: Recorded metrics name.' + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' + properties: + autoResolved: + description: 'AutoResolved: Enable alert auto-resolution.' + type: boolean + timeToResolve: + description: 'TimeToResolve: Alert auto-resolution timeout.' + type: string + type: object + severity: + description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + type: integer + required: + - expression + type: object + type: array + scopesReferences: + description: |- + ScopesReferences: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with + one scope. This may change in future. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - rules + - scopesReferences + type: object + status: + properties: + clusterName: + description: 'ClusterName: Apply rule to data from a specific cluster.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Rule group description.' + type: string + enabled: + description: 'Enabled: Enable/disable rule group.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + interval: + description: |- + Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be + between 1 and 15 minutes + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rules: + description: 'Rules: Defines the rules in the Prometheus rule group.' + items: + description: An Azure Prometheus alerting or recording rule. + properties: + actions: + description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' + items: + description: An alert action. Only relevant for alerts. + properties: + actionGroupId: + description: 'ActionGroupId: The resource id of the action group to use.' + type: string + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action group object.' + type: object + type: object + type: array + alert: + description: 'Alert: Alert rule name.' + type: string + annotations: + additionalProperties: + type: string + description: |- + Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional + information such as alert descriptions or runbook links. The annotation values can be templated. + type: object + enabled: + description: 'Enabled: Enable/disable rule.' + type: boolean + expression: + description: |- + Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated + periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given + by 'record'. + type: string + for: + description: 'For: The amount of time alert must be active before firing.' + type: string + labels: + additionalProperties: + type: string + description: 'Labels: Labels to add or overwrite before storing the result.' + type: object + record: + description: 'Record: Recorded metrics name.' + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' + properties: + autoResolved: + description: 'AutoResolved: Enable alert auto-resolution.' + type: boolean + timeToResolve: + description: 'TimeToResolve: Alert auto-resolution timeout.' + type: string + type: object + severity: + description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + type: integer + type: object + type: array + scopes: + description: |- + Scopes: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. + This may change in future. + items: + type: string + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230301.PrometheusRuleGroup + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230301.PrometheusRuleGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterName: + type: string + description: + type: string + enabled: + type: boolean + interval: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rules: + items: + description: |- + Storage version of v1api20230301.PrometheusRule + An Azure Prometheus alerting or recording rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupAction + An alert action. Only relevant for alerts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupReference: + description: 'ActionGroupReference: The resource id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + actionProperties: + additionalProperties: + type: string + type: object + type: object + type: array + alert: + type: string + annotations: + additionalProperties: + type: string + type: object + enabled: + type: boolean + expression: + type: string + for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20230301.PrometheusRuleResolveConfiguration + Specifies the Prometheus alert rule configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + severity: + type: integer + type: object + type: array + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230301.PrometheusRuleGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + enabled: + type: boolean + id: + type: string + interval: + type: string + location: + type: string + name: + type: string + rules: + items: + description: |- + Storage version of v1api20230301.PrometheusRule_STATUS + An Azure Prometheus alerting or recording rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupAction_STATUS + An alert action. Only relevant for alerts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + actionProperties: + additionalProperties: + type: string + type: object + type: object + type: array + alert: + type: string + annotations: + additionalProperties: + type: string + type: object + enabled: + type: boolean + expression: + type: string + for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20230301.PrometheusRuleResolveConfiguration_STATUS + Specifies the Prometheus alert rule configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + severity: + type: integer + type: object + type: array + scopes: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20230301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: publicipaddresses.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PublicIPAddress + listKind: PublicIPAddressList + plural: publicipaddresses + singular: publicipaddress + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosCustomPolicy: + description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectedIP: + description: 'ProtectedIP: Enables DDoS protection on the public IP.' + type: boolean + protectionCoverage: + description: |- + ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the + ability to be customized. + enum: + - Basic + - Standard + type: string + type: object + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + linkedPublicIPAddress: + description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP address resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosCustomPolicy: + description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protectedIP: + description: 'ProtectedIP: Enables DDoS protection on the public IP.' + type: boolean + protectionCoverage: + description: |- + ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the + ability to be customized. + type: string + type: object + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipConfiguration: + description: 'IpConfiguration: The IP configuration associated with the public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Public IP Address.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP address resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP address resource.' + type: string + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.PublicIPAddress + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.PublicIPAddress_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: |- + Storage version of v1api20201101.DdosSettings + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosCustomPolicy: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectedIP: + type: boolean + protectionCoverage: + type: string + type: object + dnsSettings: + description: |- + Storage version of v1api20201101.PublicIPAddressDnsSettings + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipTags: + items: + description: |- + Storage version of v1api20201101.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + linkedPublicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + natGateway: + description: |- + Storage version of v1api20201101.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20201101.PublicIPAddressOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20201101.PublicIPAddressSku + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: |- + Storage version of v1api20201101.DdosSettings_STATUS + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosCustomPolicy: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protectedIP: + type: boolean + protectionCoverage: + type: string + type: object + dnsSettings: + description: |- + Storage version of v1api20201101.PublicIPAddressDnsSettings_STATUS + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipConfiguration: + description: |- + Storage version of v1api20201101.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20201101.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + migrationPhase: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20201101.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20201101.PublicIPAddressSku_STATUS + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectionMode: + description: 'ProtectionMode: The DDoS protection mode of the public IP' + enum: + - Disabled + - Enabled + - VirtualNetworkInherited + type: string + type: object + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + domainNameLabelScope: + description: |- + DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, + an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + enum: + - NoReuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + linkedPublicIPAddress: + description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP address resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protectionMode: + description: 'ProtectionMode: The DDoS protection mode of the public IP' + type: string + type: object + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + domainNameLabelScope: + description: |- + DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, + an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipConfiguration: + description: 'IpConfiguration: The IP configuration associated with the public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Public IP Address.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP address resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP address resource.' + type: string + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PublicIPAddress + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PublicIPAddress_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: |- + Storage version of v1api20240301.DdosSettings + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectionMode: + type: string + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20240301.PublicIPAddressDnsSettings + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + domainNameLabelScope: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + linkedPublicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.PublicIPAddressOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20240301.PublicIPAddressSku + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PublicIPAddress_STATUS + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: |- + Storage version of v1api20240301.DdosSettings_STATUS + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protectionMode: + type: string + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20240301.PublicIPAddressDnsSettings_STATUS + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + domainNameLabelScope: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipConfiguration: + description: |- + Storage version of v1api20240301.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + migrationPhase: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPAddressSku_STATUS + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: publicipprefixes.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PublicIPPrefix + listKind: PublicIPPrefixList + plural: publicipprefixes + singular: publicipprefix + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + enum: + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP prefix resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipPrefix: + description: 'IpPrefix: The allocated Prefix.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public + IP prefix. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAddresses: + description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' + items: + description: Reference to a public IP address. + properties: + id: + description: 'Id: The PublicIPAddress Reference.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.PublicIPPrefix + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.PublicIPPrefix_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20220701.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + natGateway: + description: |- + Storage version of v1api20220701.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20220701.PublicIPPrefixOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + type: integer + publicIPAddressVersion: + type: string + sku: + description: |- + Storage version of v1api20220701.PublicIPPrefixSku + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.PublicIPPrefix_STATUS + Public IP prefix resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipPrefix: + type: string + ipTags: + items: + description: |- + Storage version of v1api20220701.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + location: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20220701.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + prefixLength: + type: integer + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAddresses: + items: + description: |- + Storage version of v1api20220701.ReferencedPublicIpAddress_STATUS + Reference to a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20220701.PublicIPPrefixSku_STATUS + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + enum: + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP prefix resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipPrefix: + description: 'IpPrefix: The allocated Prefix.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public + IP prefix. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAddresses: + description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' + items: + description: Reference to a public IP address. + properties: + id: + description: 'Id: The PublicIPAddress Reference.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PublicIPPrefix + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PublicIPPrefix_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.PublicIPPrefixOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + type: integer + publicIPAddressVersion: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPPrefixSku + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PublicIPPrefix_STATUS + Public IP prefix resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipPrefix: + type: string + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + location: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + prefixLength: + type: integer + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAddresses: + items: + description: |- + Storage version of v1api20240301.ReferencedPublicIpAddress_STATUS + Reference to a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPPrefixSku_STATUS + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redis.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: Redis + listKind: RedisList + plural: redis + singular: redis + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value + 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in + a PUT/PATCH request. Supported versions: 4.0, 6.0. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value + 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in + a PUT/PATCH request. Supported versions: 4.0, 6.0. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + type: boolean + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20201201.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20201201.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20201201.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201201.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + instances: + items: + description: |- + Storage version of v1api20201201.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20201201.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20201201.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20201201.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20201201.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are + joined to, or injected into, a virtual network subnet. + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are + joined to, or injected into, a virtual network subnet. + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + preferred-data-archive-auth-method: + description: |- + PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify + SAS or ManagedIdentity, default value is SAS + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + type: boolean + identity: + description: |- + Storage version of v1api20230401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230401.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230401.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230401.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230401.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230401.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instances: + items: + description: |- + Storage version of v1api20230401.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20230401.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230401.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + preferred-data-archive-auth-method: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230401.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' + type: string + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + enum: + - Preview + - Stable + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' + type: string + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-archive-auth-method: + description: |- + PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify + SAS or ManagedIdentity, default value is SAS + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + type: boolean + identity: + description: |- + Storage version of v1api20230801.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230801.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230801.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230801.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230801.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + updateChannel: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230801.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230801.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230801.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instances: + items: + description: |- + Storage version of v1api20230801.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20230801.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230801.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230801.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-archive-auth-method: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230801.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + updateChannel: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableAccessKeyAuthentication: + description: |- + DisableAccessKeyAuthentication: Authentication to Redis through access keys is disabled when set as true. Default value + is false. + type: boolean + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta, + maxmemory-policy,notify-keyspace-events, aof-backup-enabled, aof-storage-connection-string-0, + aof-storage-connection-string-1 etc. + properties: + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' + type: string + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view; you should never disable authentication using this property! + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the RDB backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + enum: + - Preview + - Stable + type: string + zonalAllocationPolicy: + description: |- + ZonalAllocationPolicy: Optional: Specifies how availability zones are allocated to the Redis cache. 'Automatic' enables + zone redundancy and Azure will automatically select zones based on regional availability and capacity. 'UserDefined' + will select availability zones passed in by you using the 'zones' parameter. 'NoZones' will produce a non-zonal cache. + If 'zonalAllocationPolicy' is not passed, it will be set to 'UserDefined' when zones are passed in, otherwise, it will + be set to 'Automatic' in regions where zones are supported and 'NoZones' in regions where zones are not supported. + enum: + - Automatic + - NoZones + - UserDefined + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableAccessKeyAuthentication: + description: |- + DisableAccessKeyAuthentication: Authentication to Redis through access keys is disabled when set as true. Default value + is false. + type: boolean + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The managed service identities assigned to this resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta, + maxmemory-policy,notify-keyspace-events, aof-backup-enabled, aof-storage-connection-string-0, + aof-storage-connection-string-1 etc. + properties: + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' + type: string + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view; you should never disable authentication using this property! + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-archive-auth-method: + description: |- + PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify + SAS or ManagedIdentity, default value is SAS + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the RDB backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + type: string + zonalAllocationPolicy: + description: |- + ZonalAllocationPolicy: Optional: Specifies how availability zones are allocated to the Redis cache. 'Automatic' enables + zone redundancy and Azure will automatically select zones based on regional availability and capacity. 'UserDefined' + will select availability zones passed in by you using the 'zones' parameter. 'NoZones' will produce a non-zonal cache. + If 'zonalAllocationPolicy' is not passed, it will be set to 'UserDefined' when zones are passed in, otherwise, it will + be set to 'Automatic' in regions where zones are supported and 'NoZones' in regions where zones are not supported. + type: string + zones: + description: 'Zones: The availability zones.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableAccessKeyAuthentication: + type: boolean + enableNonSslPort: + type: boolean + identity: + description: |- + Storage version of v1api20241101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20241101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20241101.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20241101.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: |- + Storage version of v1api20241101.RedisCommonPropertiesRedisConfiguration + All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta, + maxmemory-policy,notify-keyspace-events, aof-backup-enabled, aof-storage-connection-string-0, + aof-storage-connection-string-1 etc. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20241101.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + updateChannel: + type: string + zonalAllocationPolicy: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20241101.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableAccessKeyAuthentication: + type: boolean + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20241101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20241101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instances: + items: + description: |- + Storage version of v1api20241101.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20241101.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20241101.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: |- + Storage version of v1api20241101.RedisCommonPropertiesRedisConfiguration_STATUS + All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta, + maxmemory-policy,notify-keyspace-events, aof-backup-enabled, aof-storage-connection-string-0, + aof-storage-connection-string-1 etc. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-archive-auth-method: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20241101.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + updateChannel: + type: string + zonalAllocationPolicy: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redisaccesspolicies.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisAccessPolicy + listKind: RedisAccessPolicyList + plural: redisaccesspolicies + singular: redisaccesspolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/accessPolicies/{accessPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^([a-zA-Z0-9][a-zA-Z0-9- ]*[a-zA-Z0-9]|[a-zA-Z0-9])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + permissions: + description: |- + Permissions: Permissions for the access policy. Learn how to configure permissions at + https://aka.ms/redis/AADPreRequisites + type: string + required: + - owner + - permissions + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + permissions: + description: |- + Permissions: Permissions for the access policy. Learn how to configure permissions at + https://aka.ms/redis/AADPreRequisites + type: string + properties_type: + description: 'PropertiesType: Built-In or Custom access policy' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of access policy' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.RedisAccessPolicy + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/accessPolicies/{accessPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.RedisAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20241101.RedisAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + permissions: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20241101.RedisAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + permissions: + type: string + properties_type: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redisaccesspolicyassignments.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisAccessPolicyAssignment + listKind: RedisAccessPolicyAssignmentList + plural: redisaccesspolicyassignments + singular: redisaccesspolicyassignment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/accessPolicyAssignments/{accessPolicyAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessPolicyName: + description: 'AccessPolicyName: The name of the access policy that is being assigned' + pattern: ^([a-zA-Z0-9][a-zA-Z0-9- ]*[a-zA-Z0-9]|[a-zA-Z0-9])$ + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])$ + type: string + objectId: + description: 'ObjectId: Object Id to assign access policy to' + type: string + objectIdAlias: + description: 'ObjectIdAlias: User friendly name for object id. Also represents username for token based authentication' + type: string + objectIdAliasFromConfig: + description: 'ObjectIdAliasFromConfig: User friendly name for object id. Also represents username for token based authentication' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectIdFromConfig: + description: 'ObjectIdFromConfig: Object Id to assign access policy to' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - accessPolicyName + - owner + type: object + status: + properties: + accessPolicyName: + description: 'AccessPolicyName: The name of the access policy that is being assigned' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: Object Id to assign access policy to' + type: string + objectIdAlias: + description: 'ObjectIdAlias: User friendly name for object id. Also represents username for token based authentication' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of an access policy assignment set' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.RedisAccessPolicyAssignment + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/accessPolicyAssignments/{accessPolicyAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.RedisAccessPolicyAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicyName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdAlias: + type: string + objectIdAliasFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20241101.RedisAccessPolicyAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20241101.RedisAccessPolicyAssignment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicyName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + objectIdAlias: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redisenterprisedatabases.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisEnterpriseDatabase + listKind: RedisEnterpriseDatabaseList + plural: redisenterprisedatabases + singular: redisenterprisedatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + enum: + - EnterpriseCluster + - OSSCluster + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210301.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210301.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + evictionPolicy: + type: string + modules: + items: + description: |- + Storage version of v1api20210301.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20210301.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20210301.Persistence + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20210301.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + type: string + id: + type: string + modules: + items: + description: |- + Storage version of v1api20210301.Module_STATUS + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20210301.Persistence_STATUS + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + resourceState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + enum: + - EnterpriseCluster + - OSSCluster + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + id: + description: 'Id: Resource ID of a database resource to link with this database.' + type: string + state: + description: 'State: State of the link between the database resources.' + type: string + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20230701.DatabaseProperties_GeoReplication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20230701.LinkedDatabase + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + items: + description: |- + Storage version of v1api20230701.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20230701.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20230701.Persistence + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230701.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20230701.DatabaseProperties_GeoReplication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20230701.LinkedDatabase_STATUS + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + state: + type: string + type: object + type: array + type: object + id: + type: string + modules: + items: + description: |- + Storage version of v1api20230701.Module_STATUS + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20230701.Persistence_STATUS + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + resourceState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessKeysAuthentication: + description: |- + AccessKeysAuthentication: This property can be Enabled/Disabled to allow or deny access with the current access keys. + Can be updated even after database is created. + enum: + - Disabled + - Enabled + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: |- + ClusteringPolicy: Clustering policy - default is OSSCluster. This property must be chosen at create time, and cannot be + changed without deleting the database. + enum: + - EnterpriseCluster + - OSSCluster + type: string + deferUpgrade: + description: |- + DeferUpgrade: Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: + https://aka.ms/redisversionupgrade + enum: + - Deferred + - NotDeferred + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + aofFrequency: + description: |- + AofFrequency: Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that + the 'always' setting is deprecated, because of its performance impact. + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + accessKeysAuthentication: + description: |- + AccessKeysAuthentication: This property can be Enabled/Disabled to allow or deny access with the current access keys. + Can be updated even after database is created. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: |- + ClusteringPolicy: Clustering policy - default is OSSCluster. This property must be chosen at create time, and cannot be + changed without deleting the database. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deferUpgrade: + description: |- + DeferUpgrade: Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: + https://aka.ms/redisversionupgrade + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + id: + description: 'Id: Resource ID of a database resource to link with this database.' + type: string + state: + description: 'State: State of the link between the database resources.' + type: string + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + aofFrequency: + description: |- + AofFrequency: Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that + the 'always' setting is deprecated, because of its performance impact. + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + redisVersion: + description: 'RedisVersion: Version of Redis the database is running on, e.g. ''6.0''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250401.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250401.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeysAuthentication: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + deferUpgrade: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20250401.DatabaseProperties_GeoReplication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20250401.LinkedDatabase + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + items: + description: |- + Storage version of v1api20250401.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20250401.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20250401.Persistence + Persistence-related configuration for the Redis Enterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20250401.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeysAuthentication: + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deferUpgrade: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20250401.DatabaseProperties_GeoReplication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20250401.LinkedDatabase_STATUS + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + state: + type: string + type: object + type: array + type: object + id: + type: string + modules: + items: + description: |- + Storage version of v1api20250401.Module_STATUS + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20250401.Persistence_STATUS + Persistence-related configuration for the Redis Enterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + systemData: + description: |- + Storage version of v1api20250401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redisenterprises.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisEnterprise + listKind: RedisEnterpriseList + plural: redisenterprises + singular: redisenterprise + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + enum: + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E50 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210301.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210301.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20210301.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20210301.Sku + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20210301.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + type: string + id: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210301.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20210301.Sku_STATUS + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + enum: + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E50 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230701.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20230701.Sku + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230701.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + type: string + id: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230701.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku_STATUS + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: 'Encryption: Encryption-at-rest configuration for the cluster.' + properties: + customerManagedKeyEncryption: + description: |- + CustomerManagedKeyEncryption: All Customer-managed key encryption properties for the resource. Set this to an empty + object to use Microsoft-managed key encryption. + properties: + keyEncryptionKeyIdentity: + description: |- + KeyEncryptionKeyIdentity: All identity configuration for Customer-managed key settings defining which identity should be + used to auth to Key Vault. + properties: + identityType: + description: 'IdentityType: Only userAssignedIdentity is supported in this API version; other types may be supported in the future' + enum: + - systemAssignedIdentity + - userAssignedIdentity + type: string + userAssignedIdentityResourceReference: + description: |- + UserAssignedIdentityResourceReference: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyEncryptionKeyUrl: + description: |- + KeyEncryptionKeyUrl: Key encryption key Url, versioned only. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 + type: string + type: object + type: object + highAvailability: + description: |- + HighAvailability: Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the + availability SLA, and increases the risk of data loss. + enum: + - Disabled + - Enabled + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: Distinguishes the kind of cluster. Read-only.' + enum: + - v1 + - v2 + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the + future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for + the sake of consistency with old API versions. + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid + values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs. + type: integer + name: + description: |- + Name: The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', + 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional + SKUs may become supported in the future. + enum: + - Balanced_B0 + - Balanced_B1 + - Balanced_B10 + - Balanced_B100 + - Balanced_B1000 + - Balanced_B150 + - Balanced_B20 + - Balanced_B250 + - Balanced_B3 + - Balanced_B350 + - Balanced_B5 + - Balanced_B50 + - Balanced_B500 + - Balanced_B700 + - ComputeOptimized_X10 + - ComputeOptimized_X100 + - ComputeOptimized_X150 + - ComputeOptimized_X20 + - ComputeOptimized_X250 + - ComputeOptimized_X3 + - ComputeOptimized_X350 + - ComputeOptimized_X5 + - ComputeOptimized_X50 + - ComputeOptimized_X500 + - ComputeOptimized_X700 + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E1 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E200 + - Enterprise_E400 + - Enterprise_E5 + - Enterprise_E50 + - FlashOptimized_A1000 + - FlashOptimized_A1500 + - FlashOptimized_A2000 + - FlashOptimized_A250 + - FlashOptimized_A4500 + - FlashOptimized_A500 + - FlashOptimized_A700 + - MemoryOptimized_M10 + - MemoryOptimized_M100 + - MemoryOptimized_M1000 + - MemoryOptimized_M150 + - MemoryOptimized_M1500 + - MemoryOptimized_M20 + - MemoryOptimized_M2000 + - MemoryOptimized_M250 + - MemoryOptimized_M350 + - MemoryOptimized_M50 + - MemoryOptimized_M500 + - MemoryOptimized_M700 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryption: + description: 'Encryption: Encryption-at-rest configuration for the cluster.' + properties: + customerManagedKeyEncryption: + description: |- + CustomerManagedKeyEncryption: All Customer-managed key encryption properties for the resource. Set this to an empty + object to use Microsoft-managed key encryption. + properties: + keyEncryptionKeyIdentity: + description: |- + KeyEncryptionKeyIdentity: All identity configuration for Customer-managed key settings defining which identity should be + used to auth to Key Vault. + properties: + identityType: + description: 'IdentityType: Only userAssignedIdentity is supported in this API version; other types may be supported in the future' + type: string + userAssignedIdentityResourceId: + description: |- + UserAssignedIdentityResourceId: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + type: string + type: object + keyEncryptionKeyUrl: + description: |- + KeyEncryptionKeyUrl: Key encryption key Url, versioned only. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 + type: string + type: object + type: object + highAvailability: + description: |- + HighAvailability: Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the + availability SLA, and increases the risk of data loss. + type: string + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: Distinguishes the kind of cluster. Read-only.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the + future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for + the sake of consistency with old API versions. + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified Redis Enterprise cluster' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + redundancyMode: + description: 'RedundancyMode: Explains the current redundancy strategy of the cluster, which affects the expected SLA.' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid + values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs. + type: integer + name: + description: |- + Name: The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', + 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional + SKUs may become supported in the future. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250401.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250401.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManagedKeyEncryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyEncryptionKeyIdentity: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityType: + type: string + userAssignedIdentityResourceReference: + description: |- + UserAssignedIdentityResourceReference: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyEncryptionKeyUrl: + type: string + type: object + type: object + highAvailability: + type: string + identity: + description: |- + Storage version of v1api20250401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20250401.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20250401.Sku + SKU parameters supplied to the create Redis Enterprise cluster operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20250401.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManagedKeyEncryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyEncryptionKeyIdentity: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityType: + type: string + userAssignedIdentityResourceId: + type: string + type: object + keyEncryptionKeyUrl: + type: string + type: object + type: object + highAvailability: + type: string + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20250401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redisVersion: + type: string + redundancyMode: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20250401.Sku_STATUS + SKU parameters supplied to the create Redis Enterprise cluster operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redisfirewallrules.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisFirewallRule + listKind: RedisFirewallRuleList + plural: redisfirewallrules + singular: redisfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20201201.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20230401.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230401.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20230801.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230801.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20241101.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20241101.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redislinkedservers.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisLinkedServer + listKind: RedisLinkedServerList + plural: redislinkedservers + singular: redislinkedserver + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20201201.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20201201.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + description: |- + GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the + linked redis caches for seamless Geo Failover experience. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + primaryHostName: + description: |- + PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches + before or after the Geo Failover. + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230401.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20230401.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + type: string + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + primaryHostName: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + description: |- + GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the + linked redis caches for seamless Geo Failover experience. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + primaryHostName: + description: |- + PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches + before or after the Geo Failover. + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230801.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20230801.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + type: string + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + primaryHostName: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + description: |- + GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the + linked redis caches for seamless Geo Failover experience. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + primaryHostName: + description: |- + PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches + before or after the Geo Failover. + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20241101.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20241101.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + type: string + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + primaryHostName: + type: string + provisioningState: + type: string + serverRole: + type: string + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: redispatchschedules.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisPatchSchedule + listKind: RedisPatchScheduleList + plural: redispatchschedules + singular: redispatchschedule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20201201.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + items: + description: |- + Storage version of v1api20201201.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201201.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20201201.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20230401.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + items: + description: |- + Storage version of v1api20230401.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230401.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20230401.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20230801.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + items: + description: |- + Storage version of v1api20230801.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230801.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20230801.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/Redis/stable/2024-11-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20241101.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + items: + description: |- + Storage version of v1api20241101.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20241101.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20241101.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: registries.containerregistry.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerregistry.azure.com + names: + categories: + - azure + - containerregistry + kind: Registry + listKind: RegistryList + plural: registries + singular: registry + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2021-09-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of container registry.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' + enum: + - disabled + - enabled + type: string + type: object + identity: + description: 'Identity: The identity of the container registry.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + enum: + - AzureServices + - None + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' + properties: + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + required: + - value + type: object + type: array + required: + - defaultAction + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: + description: 'Type: The type of trust policy.' + enum: + - Notary + type: string + type: object + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the container registry.' + properties: + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + enum: + - Basic + - Classic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + enum: + - Disabled + - Enabled + type: string + required: + - location + - owner + - sku + type: object + status: + description: An object that represents a container registry. + properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + description: 'CreationDate: The creation date of the container registry in ISO8601 format.' + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + dataEndpointHostNames: + description: 'DataEndpointHostNames: List of host names that will serve data when dataEndpointEnabled is true.' + items: + type: string + type: array + encryption: + description: 'Encryption: The encryption settings of container registry.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyRotationEnabled: + description: 'KeyRotationEnabled: Auto key rotation status for a CMK enabled registry.' + type: boolean + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of the last successful key rotation.' + type: string + versionedKeyIdentifier: + description: |- + VersionedKeyIdentifier: The fully qualified key identifier that includes the version of the key that is actually used + for encryption. + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' + type: string + type: object + id: + description: 'Id: The resource ID.' + type: string + identity: + description: 'Identity: The identity of the container registry.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + loginServer: + description: 'LoginServer: The URL that can be used to log into the container registry.' + type: string + name: + description: 'Name: The name of the resource.' + type: string + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' + properties: + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + lastUpdatedTime: + description: 'LastUpdatedTime: The timestamp when the policy was last updated.' + type: string + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: + description: 'Type: The type of trust policy.' + type: string + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections for a container registry.' + items: + description: An object that represents a private endpoint connection for a container registry. + properties: + id: + description: 'Id: The resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the container registry at the time the operation was called.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + type: string + sku: + description: 'Sku: The SKU of the container registry.' + properties: + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + type: string + tier: + description: 'Tier: The SKU tier based on the SKU name.' + type: string + type: object + status: + description: 'Status: The status of the container registry at the time the operation was called.' + properties: + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210901.Registry + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2021-09-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210901.Registry_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserEnabled: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataEndpointEnabled: + type: boolean + encryption: + description: Storage version of v1api20210901.EncryptionProperty + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: Storage version of v1api20210901.KeyVaultProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyIdentifier: + type: string + type: object + status: + type: string + type: object + identity: + description: |- + Storage version of v1api20210901.IdentityProperties + Managed identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210901.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: + description: |- + Storage version of v1api20210901.NetworkRuleSet + The network rule set for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210901.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20210901.RegistryOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policies: + description: |- + Storage version of v1api20210901.Policies + The policies for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exportPolicy: + description: |- + Storage version of v1api20210901.ExportPolicy + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20210901.QuarantinePolicy + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20210901.RetentionPolicy + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20210901.TrustPolicy + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object + type: object + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20210901.Sku + The SKU of a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundancy: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210901.Registry_STATUS + An object that represents a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserEnabled: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + type: string + dataEndpointEnabled: + type: boolean + dataEndpointHostNames: + items: + type: string + type: array + encryption: + description: Storage version of v1api20210901.EncryptionProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: Storage version of v1api20210901.KeyVaultProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyIdentifier: + type: string + keyRotationEnabled: + type: boolean + lastKeyRotationTimestamp: + type: string + versionedKeyIdentifier: + type: string + type: object + status: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210901.IdentityProperties_STATUS + Managed identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210901.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + loginServer: + type: string + name: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: + description: |- + Storage version of v1api20210901.NetworkRuleSet_STATUS + The network rule set for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210901.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + type: object + policies: + description: |- + Storage version of v1api20210901.Policies_STATUS + The policies for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exportPolicy: + description: |- + Storage version of v1api20210901.ExportPolicy_STATUS + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20210901.QuarantinePolicy_STATUS + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20210901.RetentionPolicy_STATUS + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + lastUpdatedTime: + type: string + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20210901.TrustPolicy_STATUS + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210901.PrivateEndpointConnection_STATUS + An object that represents a private endpoint connection for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20210901.Sku_STATUS + The SKU of a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + status: + description: |- + Storage version of v1api20210901.Status_STATUS + The status of an Azure resource at the time the operation was called. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + displayStatus: + type: string + message: + type: string + timestamp: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneRedundancy: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of container registry.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + identityFromConfig: + description: 'IdentityFromConfig: The client id of the identity which will be used to access key vault.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' + enum: + - disabled + - enabled + type: string + type: object + identity: + description: 'Identity: The identity of the container registry.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + enum: + - AzureServices + - None + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' + properties: + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + required: + - value + type: object + type: array + required: + - defaultAction + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled + type: string + type: + description: 'Type: The type of trust policy.' + enum: + - Notary + type: string + type: object + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the container registry.' + properties: + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + enum: + - Basic + - Classic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + enum: + - Disabled + - Enabled + type: string + required: + - location + - owner + - sku + type: object + status: + description: An object that represents a container registry. + properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + description: 'CreationDate: The creation date of the container registry in ISO8601 format.' + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + dataEndpointHostNames: + description: 'DataEndpointHostNames: List of host names that will serve data when dataEndpointEnabled is true.' + items: + type: string + type: array + encryption: + description: 'Encryption: The encryption settings of container registry.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyRotationEnabled: + description: 'KeyRotationEnabled: Auto key rotation status for a CMK enabled registry.' + type: boolean + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of the last successful key rotation.' + type: string + versionedKeyIdentifier: + description: |- + VersionedKeyIdentifier: The fully qualified key identifier that includes the version of the key that is actually used + for encryption. + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' + type: string + type: object + id: + description: 'Id: The resource ID.' + type: string + identity: + description: 'Identity: The identity of the container registry.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + loginServer: + description: 'LoginServer: The URL that can be used to log into the container registry.' + type: string + name: + description: 'Name: The name of the resource.' + type: string + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' + properties: + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + lastUpdatedTime: + description: 'LastUpdatedTime: The timestamp when the policy was last updated.' + type: string + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: + description: 'Type: The type of trust policy.' + type: string + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections for a container registry.' + items: + description: An object that represents a private endpoint connection for a container registry. + properties: + id: + description: 'Id: The resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the container registry at the time the operation was called.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + type: string + sku: + description: 'Sku: The SKU of the container registry.' + properties: + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + type: string + tier: + description: 'Tier: The SKU tier based on the SKU name.' + type: string + type: object + status: + description: 'Status: The status of the container registry at the time the operation was called.' + properties: + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.Registry + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.Registry_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserEnabled: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataEndpointEnabled: + type: boolean + encryption: + description: Storage version of v1api20230701.EncryptionProperty + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: Storage version of v1api20230701.KeyVaultProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + identityFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyIdentifier: + type: string + type: object + status: + type: string + type: object + identity: + description: |- + Storage version of v1api20230701.IdentityProperties + Managed identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: + description: |- + Storage version of v1api20230701.NetworkRuleSet + The network rule set for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20230701.RegistryOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policies: + description: |- + Storage version of v1api20230701.Policies + The policies for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exportPolicy: + description: |- + Storage version of v1api20230701.ExportPolicy + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20230701.QuarantinePolicy + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20230701.RetentionPolicy + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20230701.TrustPolicy + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object + type: object + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku + The SKU of a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundancy: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230701.Registry_STATUS + An object that represents a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserEnabled: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + type: string + dataEndpointEnabled: + type: boolean + dataEndpointHostNames: + items: + type: string + type: array + encryption: + description: Storage version of v1api20230701.EncryptionProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: Storage version of v1api20230701.KeyVaultProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyIdentifier: + type: string + keyRotationEnabled: + type: boolean + lastKeyRotationTimestamp: + type: string + versionedKeyIdentifier: + type: string + type: object + status: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20230701.IdentityProperties_STATUS + Managed identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230701.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + loginServer: + type: string + name: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: + description: |- + Storage version of v1api20230701.NetworkRuleSet_STATUS + The network rule set for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + type: object + policies: + description: |- + Storage version of v1api20230701.Policies_STATUS + The policies for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exportPolicy: + description: |- + Storage version of v1api20230701.ExportPolicy_STATUS + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20230701.QuarantinePolicy_STATUS + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20230701.RetentionPolicy_STATUS + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + lastUpdatedTime: + type: string + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20230701.TrustPolicy_STATUS + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230701.PrivateEndpointConnection_STATUS + An object that represents a private endpoint connection for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku_STATUS + The SKU of a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + status: + description: |- + Storage version of v1api20230701.Status_STATUS + The status of an Azure resource at the time the operation was called. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + displayStatus: + type: string + message: + type: string + timestamp: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneRedundancy: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: registries.machinelearningservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: machinelearningservices.azure.com + names: + categories: + - azure + - machinelearningservices + kind: Registry + listKind: RegistryList + plural: registries + singular: registry + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]{2,32}$ + type: string + discoveryUrl: + description: 'DiscoveryUrl: Discovery URL for the Registry' + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + intellectualPropertyPublisher: + description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' + type: string + kind: + description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedResourceGroup: + description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' + properties: + resourceReference: + description: |- + ResourceReference: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + mlFlowRegistryUri: + description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + discoveryUrl: + description: 'DiscoveryUrl: indicates where the DiscoveryUrl config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + mlFlowRegistryUri: + description: |- + MlFlowRegistryUri: indicates where the MlFlowRegistryUri config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Is the Registry accessible from the internet? + Possible values: "Enabled" or "Disabled" + type: string + regionDetails: + description: 'RegionDetails: Details of each region the registry is in' + items: + description: Details for each region the registry is in + properties: + acrDetails: + description: 'AcrDetails: List of ACR accounts' + items: + description: Details of ACR account to be used for the Registry + properties: + systemCreatedAcrAccount: + description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' + properties: + acrAccountName: + description: 'AcrAccountName: Name of the ACR account' + type: string + acrAccountSku: + description: 'AcrAccountSku: SKU of the ACR account' + type: string + type: object + type: object + type: array + location: + description: 'Location: The location where the registry exists' + type: string + storageAccountDetails: + description: 'StorageAccountDetails: List of storage accounts' + items: + description: Details of storage account to be used for the Registry + properties: + systemCreatedStorageAccount: + description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' + properties: + allowBlobPublicAccess: + description: 'AllowBlobPublicAccess: Public blob access allowed' + type: boolean + storageAccountHnsEnabled: + description: 'StorageAccountHnsEnabled: HNS enabled for storage account' + type: boolean + storageAccountName: + description: 'StorageAccountName: Name of the storage account' + type: string + storageAccountType: + description: |- + StorageAccountType: Allowed values: + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Standard_GZRS", + "Standard_RAGZRS", + "Premium_LRS", + "Premium_ZRS" + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' + items: + description: Private endpoint connection definition. + properties: + groupIds: + description: 'GroupIds: The group ids' + items: + type: string + type: array + location: + description: 'Location: Same as workspace location.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' + properties: + subnetArmReference: + description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' + type: string + reference: + description: |- + Reference: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + registryPrivateLinkServiceConnectionState: + description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' + properties: + actionsRequired: + description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' + type: string + description: + description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' + type: string + status: + description: 'Status: Connection status of the service consumer with the service provider' + enum: + - Approved + - Disconnected + - Pending + - Rejected + type: string + type: object + type: object + type: array + sku: + description: 'Sku: Sku details required for ARM contract for Autoscaling.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + discoveryUrl: + description: 'DiscoveryUrl: Discovery URL for the Registry' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + intellectualPropertyPublisher: + description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' + type: string + kind: + description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedResourceGroup: + description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' + properties: + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + type: string + type: object + mlFlowRegistryUri: + description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' + type: string + name: + description: 'Name: The name of the resource' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Is the Registry accessible from the internet? + Possible values: "Enabled" or "Disabled" + type: string + regionDetails: + description: 'RegionDetails: Details of each region the registry is in' + items: + description: Details for each region the registry is in + properties: + acrDetails: + description: 'AcrDetails: List of ACR accounts' + items: + description: Details of ACR account to be used for the Registry + properties: + systemCreatedAcrAccount: + description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' + properties: + acrAccountName: + description: 'AcrAccountName: Name of the ACR account' + type: string + acrAccountSku: + description: 'AcrAccountSku: SKU of the ACR account' + type: string + armResourceId: + description: 'ArmResourceId: This is populated once the ACR account is created.' + properties: + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: The location where the registry exists' + type: string + storageAccountDetails: + description: 'StorageAccountDetails: List of storage accounts' + items: + description: Details of storage account to be used for the Registry + properties: + systemCreatedStorageAccount: + description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' + properties: + allowBlobPublicAccess: + description: 'AllowBlobPublicAccess: Public blob access allowed' + type: boolean + armResourceId: + description: 'ArmResourceId: This is populated once the storage account is created.' + properties: + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + type: string + type: object + storageAccountHnsEnabled: + description: 'StorageAccountHnsEnabled: HNS enabled for storage account' + type: boolean + storageAccountName: + description: 'StorageAccountName: Name of the storage account' + type: string + storageAccountType: + description: |- + StorageAccountType: Allowed values: + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Standard_GZRS", + "Standard_RAGZRS", + "Premium_LRS", + "Premium_ZRS" + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' + items: + description: Private endpoint connection definition. + properties: + groupIds: + description: 'GroupIds: The group ids' + items: + type: string + type: array + id: + description: |- + Id: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + type: string + location: + description: 'Location: Same as workspace location.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' + properties: + id: + description: 'Id: The ARM identifier for Private Endpoint' + type: string + subnetArmId: + description: 'SubnetArmId: The subnetId that the private endpoint is connected to.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' + type: string + registryPrivateLinkServiceConnectionState: + description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' + properties: + actionsRequired: + description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' + type: string + description: + description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' + type: string + status: + description: 'Status: Connection status of the service consumer with the service provider' + type: string + type: object + type: object + type: array + sku: + description: 'Sku: Sku details required for ARM contract for Autoscaling.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240401.Registry + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240401.Registry_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + discoveryUrl: + type: string + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + intellectualPropertyPublisher: + type: string + kind: + type: string + location: + type: string + managedResourceGroup: + description: |- + Storage version of v1api20240401.ArmResourceId + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceReference: + description: |- + ResourceReference: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + mlFlowRegistryUri: + type: string + operatorSpec: + description: |- + Storage version of v1api20240401.RegistryOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240401.RegistryOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + discoveryUrl: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + mlFlowRegistryUri: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + regionDetails: + items: + description: |- + Storage version of v1api20240401.RegistryRegionArmDetails + Details for each region the registry is in + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrDetails: + items: + description: |- + Storage version of v1api20240401.AcrDetails + Details of ACR account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedAcrAccount: + description: Storage version of v1api20240401.SystemCreatedAcrAccount + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrAccountName: + type: string + acrAccountSku: + type: string + type: object + type: object + type: array + location: + type: string + storageAccountDetails: + items: + description: |- + Storage version of v1api20240401.StorageAccountDetails + Details of storage account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedStorageAccount: + description: Storage version of v1api20240401.SystemCreatedStorageAccount + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowBlobPublicAccess: + type: boolean + storageAccountHnsEnabled: + type: boolean + storageAccountName: + type: string + storageAccountType: + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + items: + description: |- + Storage version of v1api20240401.RegistryPrivateEndpointConnection + Private endpoint connection definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + location: + type: string + privateEndpoint: + description: |- + Storage version of v1api20240401.PrivateEndpointResource + The PE network resource that is linked to this PE connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetArmReference: + description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + provisioningState: + type: string + reference: + description: |- + Reference: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + registryPrivateLinkServiceConnectionState: + description: |- + Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState + The connection state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20240401.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240401.RegistryTrackedResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + discoveryUrl: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + intellectualPropertyPublisher: + type: string + kind: + type: string + location: + type: string + managedResourceGroup: + description: |- + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + type: object + mlFlowRegistryUri: + type: string + name: + type: string + publicNetworkAccess: + type: string + regionDetails: + items: + description: |- + Storage version of v1api20240401.RegistryRegionArmDetails_STATUS + Details for each region the registry is in + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrDetails: + items: + description: |- + Storage version of v1api20240401.AcrDetails_STATUS + Details of ACR account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedAcrAccount: + description: Storage version of v1api20240401.SystemCreatedAcrAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrAccountName: + type: string + acrAccountSku: + type: string + armResourceId: + description: |- + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + type: object + type: object + type: object + type: array + location: + type: string + storageAccountDetails: + items: + description: |- + Storage version of v1api20240401.StorageAccountDetails_STATUS + Details of storage account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedStorageAccount: + description: Storage version of v1api20240401.SystemCreatedStorageAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowBlobPublicAccess: + type: boolean + armResourceId: + description: |- + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + type: object + storageAccountHnsEnabled: + type: boolean + storageAccountName: + type: string + storageAccountType: + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + items: + description: |- + Storage version of v1api20240401.RegistryPrivateEndpointConnection_STATUS + Private endpoint connection definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + location: + type: string + privateEndpoint: + description: |- + Storage version of v1api20240401.PrivateEndpointResource_STATUS + The PE network resource that is linked to this PE connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + subnetArmId: + type: string + type: object + provisioningState: + type: string + registryPrivateLinkServiceConnectionState: + description: |- + Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState_STATUS + The connection state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20240401.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: registryreplications.containerregistry.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerregistry.azure.com + names: + categories: + - azure + - containerregistry + kind: RegistryReplication + listKind: RegistryReplicationList + plural: registryreplications + singular: registryreplication + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ + type: string + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerregistry.azure.com/Registry resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to + a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry replication' + enum: + - Disabled + - Enabled + type: string + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The resource ID.' + type: string + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' + type: string + name: + description: 'Name: The name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the replication at the time the operation was called.' + type: string + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to + a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications. + type: boolean + status: + description: 'Status: The status of the replication at the time the operation was called.' + properties: + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry replication' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.RegistryReplication + Generator information: + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/Registry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.RegistryReplication_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230701.RegistryReplicationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerregistry.azure.com/Registry resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + regionEndpointEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + zoneRedundancy: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230701.RegistryReplication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + regionEndpointEnabled: + type: boolean + status: + description: |- + Storage version of v1api20230701.Status_STATUS + The status of an Azure resource at the time the operation was called. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + displayStatus: + type: string + message: + type: string + timestamp: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneRedundancy: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: replicas.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: Replica + listKind: ReplicaList + plural: replicas + singular: replica + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + type: string + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "false". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + type: string + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "false". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + family: + description: 'Family: Not used. Retained for future use.' + type: string + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + size: + description: 'Size: Not used. Retained for future use.' + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.Replica + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.Replica_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.ReplicaOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + regionEndpointEnabled: + type: string + resourceStopped: + type: string + sku: + description: |- + Storage version of v1api20240301.ResourceSku + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.Replica_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + regionEndpointEnabled: + type: string + resourceStopped: + type: string + sku: + description: |- + Storage version of v1api20240301.ResourceSku_STATUS + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: resourcegroups.resources.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: resources.azure.com + names: + categories: + - azure + - resources + kind: ResourceGroup + listKind: ResourceGroupList + plural: resourcegroups + singular: resourcegroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 90 + minLength: 1 + type: string + location: + description: |- + Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be + one of the supported Azure locations. + type: string + managedBy: + description: 'ManagedBy: The ID of the resource that manages this resource group.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags attached to the resource group.' + type: object + required: + - location + type: object + status: + description: Resource group information. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The ID of the resource group.' + type: string + location: + description: |- + Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be + one of the supported Azure locations. + type: string + managedBy: + description: 'ManagedBy: The ID of the resource that manages this resource group.' + type: string + name: + description: 'Name: The name of the resource group.' + type: string + properties: + description: 'Properties: The resource group properties.' + properties: + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags attached to the resource group.' + type: object + type: + description: 'Type: The type of the resource group.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.ResourceGroup + Generator information: + - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.ResourceGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + managedBy: + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.ResourceGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + tags: + additionalProperties: + type: string + type: object + type: object + status: + description: |- + Storage version of v1api20200601.ResourceGroup_STATUS + Resource group information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + managedBy: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20200601.ResourceGroupProperties_STATUS + The resource group properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisioningState: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: roleassignments.authorization.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: authorization.azure.com + names: + categories: + - azure + - authorization + kind: RoleAssignment + listKind: RoleAssignmentList + plural: roleassignments + singular: roleassignment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200801preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: Description of role assignment' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: 'PrincipalId: The principal ID.' + type: string + principalIdFromConfig: + description: 'PrincipalIdFromConfig: The principal ID.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + enum: + - ForeignGroup + - Group + - ServicePrincipal + - User + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + required: + - owner + - roleDefinitionReference + type: object + status: + description: Role Assignments + properties: + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' + type: string + createdOn: + description: 'CreatedOn: Time it was created' + type: string + delegatedManagedIdentityResourceId: + description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' + type: string + description: + description: 'Description: Description of role assignment' + type: string + id: + description: 'Id: The role assignment ID.' + type: string + name: + description: 'Name: The role assignment name.' + type: string + principalId: + description: 'PrincipalId: The principal ID.' + type: string + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The role definition ID.' + type: string + scope: + description: 'Scope: The role assignment scope.' + type: string + type: + description: 'Type: The role assignment type.' + type: string + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200801previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200801preview.RoleAssignment + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200801preview.RoleAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + type: string + conditionVersion: + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20200801preview.RoleAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + type: string + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + required: + - owner + - roleDefinitionReference + type: object + status: + description: |- + Storage version of v1api20200801preview.RoleAssignment_STATUS + Role Assignments + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + conditionVersion: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + type: string + createdOn: + type: string + delegatedManagedIdentityResourceId: + type: string + description: + type: string + id: + type: string + name: + type: string + principalId: + type: string + principalType: + type: string + roleDefinitionId: + type: string + scope: + type: string + type: + type: string + updatedBy: + type: string + updatedOn: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: Description of role assignment' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: 'PrincipalId: The principal ID.' + type: string + principalIdFromConfig: + description: 'PrincipalIdFromConfig: The principal ID.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + enum: + - Device + - ForeignGroup + - Group + - ServicePrincipal + - User + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + required: + - owner + - roleDefinitionReference + type: object + status: + description: Role Assignments + properties: + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' + type: string + createdOn: + description: 'CreatedOn: Time it was created' + type: string + delegatedManagedIdentityResourceId: + description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' + type: string + description: + description: 'Description: Description of role assignment' + type: string + id: + description: 'Id: The role assignment ID.' + type: string + name: + description: 'Name: The role assignment name.' + type: string + principalId: + description: 'PrincipalId: The principal ID.' + type: string + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The role definition ID.' + type: string + scope: + description: 'Scope: The role assignment scope.' + type: string + type: + description: 'Type: The role assignment type.' + type: string + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.RoleAssignment + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.RoleAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + type: string + conditionVersion: + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20220401.RoleAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + type: string + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + wellKnownName: + type: string + type: object + required: + - owner + - roleDefinitionReference + type: object + status: + description: |- + Storage version of v1api20220401.RoleAssignment_STATUS + Role Assignments + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + conditionVersion: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + type: string + createdOn: + type: string + delegatedManagedIdentityResourceId: + type: string + description: + type: string + id: + type: string + name: + type: string + principalId: + type: string + principalType: + type: string + roleDefinitionId: + type: string + scope: + type: string + type: + type: string + updatedBy: + type: string + updatedOn: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: roledefinitions.authorization.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: authorization.azure.com + names: + categories: + - azure + - authorization + kind: RoleDefinition + listKind: RoleDefinitionList + plural: roledefinitions + singular: roledefinition + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + assignableScopesReferences: + description: 'AssignableScopesReferences: Role definition assignable scopes.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: The role definition description.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + permissions: + description: 'Permissions: Role definition permissions.' + items: + description: Role definition permissions. + properties: + actions: + description: 'Actions: Allowed actions.' + items: + type: string + type: array + dataActions: + description: 'DataActions: Allowed Data actions.' + items: + type: string + type: array + notActions: + description: 'NotActions: Denied actions.' + items: + type: string + type: array + notDataActions: + description: 'NotDataActions: Denied Data actions.' + items: + type: string + type: array + type: object + type: array + roleName: + description: 'RoleName: The role name.' + type: string + type: + description: 'Type: The role type.' + type: string + required: + - owner + type: object + status: + description: Role definition. + properties: + assignableScopes: + description: 'AssignableScopes: Role definition assignable scopes.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' + type: string + createdOn: + description: 'CreatedOn: Time it was created' + type: string + description: + description: 'Description: The role definition description.' + type: string + id: + description: 'Id: The role definition ID.' + type: string + name: + description: 'Name: The role definition name.' + type: string + permissions: + description: 'Permissions: Role definition permissions.' + items: + description: Role definition permissions. + properties: + actions: + description: 'Actions: Allowed actions.' + items: + type: string + type: array + dataActions: + description: 'DataActions: Allowed Data actions.' + items: + type: string + type: array + notActions: + description: 'NotActions: Denied actions.' + items: + type: string + type: array + notDataActions: + description: 'NotDataActions: Denied Data actions.' + items: + type: string + type: array + type: object + type: array + properties_type: + description: 'PropertiesType: The role type.' + type: string + roleName: + description: 'RoleName: The role name.' + type: string + type: + description: 'Type: The role definition type.' + type: string + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.RoleDefinition + Generator information: + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.RoleDefinition_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignableScopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20220401.RoleDefinitionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + namingConvention: + type: string + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + permissions: + items: + description: |- + Storage version of v1api20220401.Permission + Role definition permissions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + dataActions: + items: + type: string + type: array + notActions: + items: + type: string + type: array + notDataActions: + items: + type: string + type: array + type: object + type: array + roleName: + type: string + type: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220401.RoleDefinition_STATUS + Role definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignableScopes: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdBy: + type: string + createdOn: + type: string + description: + type: string + id: + type: string + name: + type: string + permissions: + items: + description: |- + Storage version of v1api20220401.Permission_STATUS + Role definition permissions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + dataActions: + items: + type: string + type: array + notActions: + items: + type: string + type: array + notDataActions: + items: + type: string + type: array + type: object + type: array + properties_type: + type: string + roleName: + type: string + type: + type: string + updatedBy: + type: string + updatedOn: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: routes.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: Route + listKind: RouteList + plural: routes + singular: route + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration + object. + properties: + compressionSettings: + description: 'CompressionSettings: compression settings.' + properties: + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If + compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be + compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + type: object + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + customDomains: + description: 'CustomDomains: Domains referenced by this endpoint.' + items: + description: Reference to another resource along with its state. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled + type: string + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enum: + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + httpsRedirect: + description: |- + HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up + this rule and it will be the first rule that gets executed. + enum: + - Disabled + - Enabled + type: string + linkToDefaultDomain: + description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' + enum: + - Disabled + - Enabled + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originGroup: + description: 'OriginGroup: A reference to the origin group.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + originPath: + description: |- + OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + patternsToMatch: + description: 'PatternsToMatch: The route patterns of the rule.' + items: + type: string + type: array + ruleSets: + description: 'RuleSets: rule sets referenced by this endpoint.' + items: + description: Reference to another resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + supportedProtocols: + description: 'SupportedProtocols: List of supported protocols for this route.' + items: + description: Supported protocols for the customer's endpoint. + enum: + - Http + - Https + type: string + type: array + required: + - owner + type: object + status: + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration + object. + properties: + compressionSettings: + description: 'CompressionSettings: compression settings.' + properties: + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If + compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be + compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + type: object + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomains: + description: 'CustomDomains: Domains referenced by this endpoint.' + items: + description: Reference to another resource along with its state. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + deploymentStatus: + type: string + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + type: string + endpointName: + description: 'EndpointName: The name of the endpoint which holds the route.' + type: string + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + httpsRedirect: + description: |- + HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up + this rule and it will be the first rule that gets executed. + type: string + id: + description: 'Id: Resource ID.' + type: string + linkToDefaultDomain: + description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' + type: string + name: + description: 'Name: Resource name.' + type: string + originGroup: + description: 'OriginGroup: A reference to the origin group.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + originPath: + description: |- + OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + patternsToMatch: + description: 'PatternsToMatch: The route patterns of the rule.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + ruleSets: + description: 'RuleSets: rule sets referenced by this endpoint.' + items: + description: Reference to another resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + supportedProtocols: + description: 'SupportedProtocols: List of supported protocols for this route.' + items: + description: Supported protocols for the customer's endpoint. + type: string + type: array + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.Route + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.Route_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cacheConfiguration: + description: |- + Storage version of v1api20230501.AfdRouteCacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compressionSettings: + description: |- + Storage version of v1api20230501.CompressionSettings + settings for compression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentTypesToCompress: + items: + type: string + type: array + isCompressionEnabled: + type: boolean + type: object + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + customDomains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enabledState: + type: string + forwardingProtocol: + type: string + httpsRedirect: + type: string + linkToDefaultDomain: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.RouteOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + originPath: + type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdEndpoint resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + patternsToMatch: + items: + type: string + type: array + ruleSets: + items: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + supportedProtocols: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230501.Route_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.AfdRouteCacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compressionSettings: + description: |- + Storage version of v1api20230501.CompressionSettings_STATUS + settings for compression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentTypesToCompress: + items: + type: string + type: array + isCompressionEnabled: + type: boolean + type: object + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_AfdEndpoints_Route_SubResourceEmbedded + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + deploymentStatus: + type: string + enabledState: + type: string + endpointName: + type: string + forwardingProtocol: + type: string + httpsRedirect: + type: string + id: + type: string + linkToDefaultDomain: + type: string + name: + type: string + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + originPath: + type: string + patternsToMatch: + items: + type: string + type: array + provisioningState: + type: string + ruleSets: + items: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + supportedProtocols: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: routetables.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: RouteTable + listKind: RouteTableList + plural: routetables + singular: routetable + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Route table resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route table resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the route table.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.RouteTable + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.RouteTable_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableBgpRoutePropagation: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.RouteTableOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.RouteTable_STATUS + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableBgpRoutePropagation: + type: boolean + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Route table resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route table resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the route table.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.RouteTable + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.RouteTable_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableBgpRoutePropagation: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.RouteTableOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.RouteTable_STATUS + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableBgpRoutePropagation: + type: boolean + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: routetablesroutes.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: RouteTablesRoute + listKind: RouteTablesRouteList + plural: routetablesroutes + singular: routetablesroute + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + enum: + - Internet + - None + - VirtualAppliance + - VirtualNetworkGateway + - VnetLocal + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/RouteTable resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - nextHopType + - owner + type: object + status: + properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + hasBgpOverride: + description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' + type: boolean + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route resource.' + type: string + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.RouteTablesRoute + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.RouteTablesRoute_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + nextHopIpAddress: + type: string + nextHopType: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.RouteTablesRouteOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/RouteTable resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20201101.RouteTablesRoute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + hasBgpOverride: + type: boolean + id: + type: string + name: + type: string + nextHopIpAddress: + type: string + nextHopType: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + enum: + - Internet + - None + - VirtualAppliance + - VirtualNetworkGateway + - VnetLocal + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/RouteTable resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - nextHopType + - owner + type: object + status: + properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + hasBgpOverride: + description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' + type: boolean + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route resource.' + type: string + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.RouteTablesRoute + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.RouteTablesRoute_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + nextHopIpAddress: + type: string + nextHopType: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.RouteTablesRouteOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/RouteTable resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.RouteTablesRoute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + hasBgpOverride: + type: boolean + id: + type: string + name: + type: string + nextHopIpAddress: + type: string + nextHopType: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: rules.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: Rule + listKind: RuleList + plural: rules + singular: rule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheExpiration + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - BypassCache + - Override + - SetIfMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + enum: + - All + type: string + typeName: + enum: + - DeliveryRuleCacheExpirationActionParameters + type: string + required: + - cacheBehavior + - cacheType + - typeName + type: object + required: + - name + - parameters + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheKeyQueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + enum: + - Exclude + - ExcludeAll + - Include + - IncludeAll + type: string + typeName: + enum: + - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters + type: string + required: + - queryStringBehavior + - typeName + type: object + required: + - name + - parameters + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyRequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyResponseHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - OriginGroupOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + enum: + - DeliveryRuleOriginGroupOverrideActionParameters + type: string + required: + - originGroup + - typeName + type: object + required: + - name + - parameters + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - RouteConfigurationOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - HonorOrigin + - OverrideAlways + - OverrideIfOriginMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + enum: + - Disabled + - Enabled + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enum: + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + enum: + - DeliveryRuleRouteConfigurationOverrideActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRedirect + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + enum: + - Http + - Https + - MatchRequest + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + enum: + - Found + - Moved + - PermanentRedirect + - TemporaryRedirect + type: string + typeName: + enum: + - DeliveryRuleUrlRedirectActionParameters + type: string + required: + - redirectType + - typeName + type: object + required: + - name + - parameters + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRewrite + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + enum: + - DeliveryRuleUrlRewriteActionParameters + type: string + required: + - destination + - sourcePattern + - typeName + type: object + required: + - name + - parameters + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlSigning + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + enum: + - SHA256 + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + enum: + - Expires + - KeyId + - Signature + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + required: + - paramIndicator + - paramName + type: object + type: array + typeName: + enum: + - DeliveryRuleUrlSigningActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + matchProcessingBehavior: + description: |- + MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. + If not present, defaults to Continue. + enum: + - Continue + - Stop + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/RuleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ruleconditions: + description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ClientPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleClientPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - Cookies + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleCookiesConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HostName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHostNameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HttpVersion + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHttpVersionConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - IsDevice + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - Desktop + - Mobile + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleIsDeviceConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - PostArgs + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRulePostArgsConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - QueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleQueryStringConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RemoteAddress + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - GeoMatch + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRemoteAddressConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestBody + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestBodyConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestHeaderConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestMethod + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - POST + - PUT + - TRACE + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestMethodConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestScheme + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - HTTP + - HTTPS + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestSchemeConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestUri + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestUriConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ServerPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleServerPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SocketAddr + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSocketAddrConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SslProtocol + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + enum: + - TLSv1 + - TLSv1.1 + - TLSv1.2 + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSslProtocolConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileExtension + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFileExtensionMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFilenameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlPath + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + - Wildcard + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlPathMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + description: 'Id: Resource ID.' + type: string + matchProcessingBehavior: + description: |- + MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. + If not present, defaults to Continue. + type: string + name: + description: 'Name: Resource name.' + type: string + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + ruleSetName: + description: 'RuleSetName: The name of the rule set containing the rule.' + type: string + ruleconditions: + description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.Rule + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.Rule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleAction + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CacheExpirationActionParameters + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CacheKeyQueryStringActionParameters + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20230501.OriginGroupOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.OriginGroupOverrideActionParameters + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RouteConfigurationOverrideActionParameters + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.CacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20230501.OriginGroupOverride + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20230501.UrlRedirectAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRedirectActionParameters + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20230501.UrlRewriteAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRewriteActionParameters + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20230501.UrlSigningAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlSigningActionParameters + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20230501.UrlSigningParamIdentifier + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + matchProcessingBehavior: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.RuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + order: + type: integer + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/RuleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ruleconditions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleCondition + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20230501.DeliveryRuleClientPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ClientPortMatchConditionParameters + Defines the parameters for ClientPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: Storage version of v1api20230501.DeliveryRuleCookiesCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CookiesMatchConditionParameters + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: Storage version of v1api20230501.DeliveryRuleHostNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HostNameMatchConditionParameters + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HttpVersionMatchConditionParameters + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.IsDeviceMatchConditionParameters + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: Storage version of v1api20230501.DeliveryRulePostArgsCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.PostArgsMatchConditionParameters + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.QueryStringMatchConditionParameters + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RemoteAddressMatchConditionParameters + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestBodyMatchConditionParameters + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestHeaderMatchConditionParameters + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestMethodMatchConditionParameters + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestSchemeMatchConditionParameters + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestUriMatchConditionParameters + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: Storage version of v1api20230501.DeliveryRuleServerPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ServerPortMatchConditionParameters + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SocketAddrMatchConditionParameters + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SslProtocolMatchConditionParameters + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlFileNameMatchConditionParameters + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlPathMatchConditionParameters + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230501.Rule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleAction_STATUS + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CacheExpirationActionParameters_STATUS + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CacheKeyQueryStringActionParameters_STATUS + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20230501.OriginGroupOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.OriginGroupOverrideActionParameters_STATUS + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RouteConfigurationOverrideActionParameters_STATUS + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.CacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20230501.OriginGroupOverride_STATUS + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20230501.UrlRedirectAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRedirectActionParameters_STATUS + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20230501.UrlRewriteAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRewriteActionParameters_STATUS + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20230501.UrlSigningAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlSigningActionParameters_STATUS + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20230501.UrlSigningParamIdentifier_STATUS + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + type: string + matchProcessingBehavior: + type: string + name: + type: string + order: + type: integer + provisioningState: + type: string + ruleSetName: + type: string + ruleconditions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleCondition_STATUS + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20230501.DeliveryRuleClientPortCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ClientPortMatchConditionParameters_STATUS + Defines the parameters for ClientPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: Storage version of v1api20230501.DeliveryRuleCookiesCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CookiesMatchConditionParameters_STATUS + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: Storage version of v1api20230501.DeliveryRuleHostNameCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HostNameMatchConditionParameters_STATUS + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HttpVersionMatchConditionParameters_STATUS + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.IsDeviceMatchConditionParameters_STATUS + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: Storage version of v1api20230501.DeliveryRulePostArgsCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.PostArgsMatchConditionParameters_STATUS + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.QueryStringMatchConditionParameters_STATUS + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RemoteAddressMatchConditionParameters_STATUS + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestBodyMatchConditionParameters_STATUS + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestHeaderMatchConditionParameters_STATUS + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestMethodMatchConditionParameters_STATUS + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestSchemeMatchConditionParameters_STATUS + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestUriMatchConditionParameters_STATUS + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: Storage version of v1api20230501.DeliveryRuleServerPortCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ServerPortMatchConditionParameters_STATUS + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SocketAddrMatchConditionParameters_STATUS + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SslProtocolMatchConditionParameters_STATUS + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters_STATUS + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlFileNameMatchConditionParameters_STATUS + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlPathMatchConditionParameters_STATUS + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: rulesets.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: RuleSet + listKind: RuleSetList + plural: rulesets + singular: ruleset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + profileName: + description: 'ProfileName: The name of the profile which holds the rule set.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.RuleSet + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.RuleSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.RuleSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.RuleSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + type: string + name: + type: string + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: scheduledqueryrules.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: ScheduledQueryRule + listKind: ScheduledQueryRuleList + plural: scheduledqueryrules + singular: scheduledqueryrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroupsReferences: + description: 'ActionGroupsReferences: Action Group resource Ids to invoke when the alert fires.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[^#<>%&:\?/{}*]{1,260}$ + type: string + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + enum: + - Exclude + - Include + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind + LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. + type: string + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + enum: + - LogAlert + - LogToMetric + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + description: 'ScopesReferences: The list of resource id''s that this scheduled query rule is scoped to.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. + type: string + required: + - location + - owner + type: object + status: + properties: + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroups: + description: 'ActionGroups: Action Group resource Ids to invoke when the alert fires.' + items: + type: string + type: array + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdWithApiVersion: + description: 'CreatedWithApiVersion: The api-version used when creating this alert rule' + type: string + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumn: + description: |- + ResourceIdColumn: The column containing the resource id. The content of the column must be a uri formatted as resource + id. Relevant only for rules of the kind LogAlert. + type: string + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind + LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + etag: + description: |- + Etag: The etag field is *not* required. If it is provided in the response body, it must 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. + type: string + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isLegacyLogAnalyticsRule: + description: 'IsLegacyLogAnalyticsRule: True if alert rule is legacy Log Analytic rule' + type: boolean + isWorkspaceAlertsStorageConfigured: + description: |- + IsWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule has been configured to be + stored in the customer's storage. The default is false. + type: boolean + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. + type: string + name: + description: 'Name: The name of the resource' + type: string + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + scopes: + description: 'Scopes: The list of resource id''s that this scheduled query rule is scoped to.' + items: + type: string + type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + systemData: + description: 'SystemData: SystemData of ScheduledQueryRule.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220615.ScheduledQueryRule + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220615.ScheduledQueryRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220615.Actions + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + checkWorkspaceAlertsStorageConfigured: + type: boolean + criteria: + description: |- + Storage version of v1api20220615.ScheduledQueryRuleCriteria + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20220615.Condition + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20220615.Dimension + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20220615.Condition_FailingPeriods + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: + type: string + displayName: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + kind: + type: string + location: + type: string + muteActionsDuration: + type: string + operatorSpec: + description: |- + Storage version of v1api20220615.ScheduledQueryRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + overrideQueryTimeRange: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + type: integer + skipQueryValidation: + type: boolean + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array + windowSize: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220615.ScheduledQueryRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220615.Actions_STATUS + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + type: string + type: array + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean + checkWorkspaceAlertsStorageConfigured: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdWithApiVersion: + type: string + criteria: + description: |- + Storage version of v1api20220615.ScheduledQueryRuleCriteria_STATUS + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20220615.Condition_STATUS + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20220615.Dimension_STATUS + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20220615.Condition_FailingPeriods_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumn: + type: string + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: + type: string + displayName: + type: string + enabled: + type: boolean + etag: + type: string + evaluationFrequency: + type: string + id: + type: string + isLegacyLogAnalyticsRule: + type: boolean + isWorkspaceAlertsStorageConfigured: + type: boolean + kind: + type: string + location: + type: string + muteActionsDuration: + type: string + name: + type: string + overrideQueryTimeRange: + type: string + scopes: + items: + type: string + type: array + severity: + type: integer + skipQueryValidation: + type: boolean + systemData: + description: |- + Storage version of v1api20220615.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array + type: + type: string + windowSize: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2024-01-01-preview/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroupsReferences: + description: 'ActionGroupsReferences: Action Group resource Ids to invoke when the alert fires.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action properties.' + type: object + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[^#<>%&:\?/{}*]{1,260}$ + type: string + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. Allowed values are 'Low', 'Medium' and 'High'. + This will affect how tight the threshold is to the metric series pattern. Relevant and required only for dynamic + threshold rules of the kind LogAlert. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - DynamicThresholdCriterion + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + enum: + - Exclude + - Include + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format). Relevant only for dynamic threshold rules of the kind LogAlert. + type: string + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + enum: + - Equals + - GreaterOrLessThan + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for static threshold rules + of the kind LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + enum: + - EventLogAlert + - LogAlert + - LogToMetric + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Relevant only for rules of the kind LogAlert.' + properties: + autoResolved: + description: 'AutoResolved: The flag that indicates whether or not to auto resolve a fired alert.' + type: boolean + timeToResolve: + description: |- + TimeToResolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented + in ISO 8601 duration format. + type: string + type: object + scopesReferences: + description: 'ScopesReferences: The list of resource id''s that this scheduled query rule is scoped to.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. + type: string + required: + - location + - owner + type: object + status: + properties: + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroups: + description: 'ActionGroups: Action Group resource Ids to invoke when the alert fires.' + items: + type: string + type: array + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action properties.' + type: object + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdWithApiVersion: + description: 'CreatedWithApiVersion: The api-version used when creating this alert rule' + type: string + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. Allowed values are 'Low', 'Medium' and 'High'. + This will affect how tight the threshold is to the metric series pattern. Relevant and required only for dynamic + threshold rules of the kind LogAlert. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format). Relevant only for dynamic threshold rules of the kind LogAlert. + type: string + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumn: + description: |- + ResourceIdColumn: The column containing the resource id. The content of the column must be a uri formatted as resource + id. Relevant only for rules of the kind LogAlert. + type: string + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for static threshold rules + of the kind LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + etag: + description: |- + Etag: The etag field is *not* required. If it is provided in the response body, it must 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. + type: string + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties. + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + isLegacyLogAnalyticsRule: + description: 'IsLegacyLogAnalyticsRule: True if alert rule is legacy Log Analytic rule' + type: boolean + isWorkspaceAlertsStorageConfigured: + description: |- + IsWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule has been configured to be + stored in the customer's storage. The default is false. + type: boolean + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. + type: string + name: + description: 'Name: The name of the resource' + type: string + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Relevant only for rules of the kind LogAlert.' + properties: + autoResolved: + description: 'AutoResolved: The flag that indicates whether or not to auto resolve a fired alert.' + type: boolean + timeToResolve: + description: |- + TimeToResolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented + in ISO 8601 duration format. + type: string + type: object + scopes: + description: 'Scopes: The list of resource id''s that this scheduled query rule is scoped to.' + items: + type: string + type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + systemData: + description: 'SystemData: SystemData of ScheduledQueryRule.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101preview.ScheduledQueryRule + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2024-01-01-preview/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101preview.ScheduledQueryRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20240101preview.Actions + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + actionProperties: + additionalProperties: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + checkWorkspaceAlertsStorageConfigured: + type: boolean + criteria: + description: |- + Storage version of v1api20240101preview.ScheduledQueryRuleCriteria + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20240101preview.Condition + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20240101preview.Dimension + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20240101preview.Condition_FailingPeriods + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + ignoreDataBefore: + type: string + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: + type: string + displayName: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + identity: + description: |- + Storage version of v1api20240101preview.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240101preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + muteActionsDuration: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101preview.ScheduledQueryRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + overrideQueryTimeRange: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resolveConfiguration: + description: |- + Storage version of v1api20240101preview.RuleResolveConfiguration + TBD. Relevant only for rules of the kind LogAlert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + type: integer + skipQueryValidation: + type: boolean + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array + windowSize: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240101preview.ScheduledQueryRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20240101preview.Actions_STATUS + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + type: string + type: array + actionProperties: + additionalProperties: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean + checkWorkspaceAlertsStorageConfigured: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdWithApiVersion: + type: string + criteria: + description: |- + Storage version of v1api20240101preview.ScheduledQueryRuleCriteria_STATUS + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20240101preview.Condition_STATUS + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20240101preview.Dimension_STATUS + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20240101preview.Condition_FailingPeriods_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + ignoreDataBefore: + type: string + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumn: + type: string + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: + type: string + displayName: + type: string + enabled: + type: boolean + etag: + type: string + evaluationFrequency: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240101preview.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240101preview.UserIdentityProperties_STATUS + User assigned identity properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + isLegacyLogAnalyticsRule: + type: boolean + isWorkspaceAlertsStorageConfigured: + type: boolean + kind: + type: string + location: + type: string + muteActionsDuration: + type: string + name: + type: string + overrideQueryTimeRange: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20240101preview.RuleResolveConfiguration_STATUS + TBD. Relevant only for rules of the kind LogAlert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + scopes: + items: + type: string + type: array + severity: + type: integer + skipQueryValidation: + type: boolean + systemData: + description: |- + Storage version of v1api20240101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array + type: + type: string + windowSize: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: searchservices.search.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: search.azure.com + names: + categories: + - azure + - search + kind: SearchService + listKind: SearchServiceList + plural: searchservices + singular: searchservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed + authentication. + enum: + - http401WithBearerChallenge + - http403 + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. + type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' + enum: + - Disabled + - Enabled + - Unspecified + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + enum: + - default + - highDensity + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + type: string + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkRuleSet: + description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service + endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied + only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not + allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. + items: + description: The IP restriction rule of the Azure Cognitive Search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) + to be allowed. + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + identityPrincipalId: + description: |- + IdentityPrincipalId: indicates where the IdentityPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + IdentityTenantId: indicates where the IdentityTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminPrimaryKey: + description: |- + AdminPrimaryKey: indicates where the AdminPrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + AdminSecondaryKey: indicates where the AdminSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: 'QueryKey: indicates where the QueryKey secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + maximum: 12 + minimum: 1 + type: integer + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + enum: + - disabled + - enabled + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + maximum: 12 + minimum: 1 + type: integer + sku: + description: |- + Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when + creating a new Search Service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + enum: + - basic + - free + - standard + - standard2 + - standard3 + - storage_optimized_l1 + - storage_optimized_l2 + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Describes an Azure Cognitive Search service and its current state. + properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed + authentication. + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ApiKeyOnly: Indicates that only the API key needs to be used for authentication.' + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. + type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + encryptionComplianceStatus: + description: |- + EncryptionComplianceStatus: Describes whether the search service is compliant or not with respect to having non customer + encrypted resources. If a service has more than one non customer encrypted resource and 'Enforcement' is 'enabled' then + the service will be marked as 'nonCompliant'. + type: string + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of the system-assigned identity of the search service.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the system-assigned identity of the search service.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + networkRuleSet: + description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service + endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied + only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not + allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. + items: + description: The IP restriction rule of the Azure Cognitive Search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) + to be allowed. + type: string + type: object + type: array + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections to the Azure Cognitive Search service.' + items: + description: Describes an existing Private Endpoint connection to the Azure Cognitive Search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The state of the last provisioning operation performed on the search service. Provisioning is an + intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState + changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling + interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is + completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to + Create search service. This is because the free service uses capacity that is already set up. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + type: integer + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources managed by the Azure Cognitive Search service.' + items: + description: Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + sku: + description: |- + Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when + creating a new Search Service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + type: string + type: object + status: + description: |- + Status: The status of the search service. Possible values include: 'running': The search service is running and no + provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. + 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the + underlying search units are not healthy. The search service is most likely operational, but performance might be slow + and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject + all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or + error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated + services in these states are still chargeable based on the number of search units provisioned. + type: string + statusDetails: + description: 'StatusDetails: The details of the search service status.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.SearchService + Generator information: + - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.SearchService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authOptions: + description: |- + Storage version of v1api20220901.DataPlaneAuthOptions + Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption + Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20220901.EncryptionWithCmk + Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed + Keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enforcement: + type: string + type: object + hostingMode: + type: string + identity: + description: |- + Storage version of v1api20220901.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + location: + type: string + networkRuleSet: + description: |- + Storage version of v1api20220901.NetworkRuleSet + Network specific rules that determine how the Azure Cognitive Search service may be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20220901.IpRule + The IP restriction rule of the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.SearchServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220901.SearchServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220901.SearchServiceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + type: integer + publicNetworkAccess: + type: string + replicaCount: + type: integer + sku: + description: |- + Storage version of v1api20220901.Sku + Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220901.SearchService_STATUS + Describes an Azure Cognitive Search service and its current state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authOptions: + description: |- + Storage version of v1api20220901.DataPlaneAuthOptions_STATUS + Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption_STATUS + Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAuth: + type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20220901.EncryptionWithCmk_STATUS + Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed + Keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionComplianceStatus: + type: string + enforcement: + type: string + type: object + hostingMode: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20220901.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + location: + type: string + name: + type: string + networkRuleSet: + description: |- + Storage version of v1api20220901.NetworkRuleSet_STATUS + Network specific rules that determine how the Azure Cognitive Search service may be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20220901.IpRule_STATUS + The IP restriction rule of the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + partitionCount: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220901.PrivateEndpointConnection_STATUS + Describes an existing Private Endpoint connection to the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + replicaCount: + type: integer + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20220901.SharedPrivateLinkResource_STATUS + Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220901.Sku_STATUS + Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + status: + type: string + statusDetails: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a search service would send for requests that failed + authentication. + enum: + - http401WithBearerChallenge + - http403 + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. + type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources.' + enum: + - Disabled + - Enabled + - Unspecified + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + enum: + - default + - highDensity + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + type: string + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkRuleSet: + description: 'NetworkRuleSet: Network-specific rules that determine how the search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the + firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + items: + description: The IP restriction rule of the search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, + 123.1.2.3/24) to be allowed. + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + identityPrincipalId: + description: |- + IdentityPrincipalId: indicates where the IdentityPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + IdentityTenantId: indicates where the IdentityTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminPrimaryKey: + description: |- + AdminPrimaryKey: indicates where the AdminPrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + AdminSecondaryKey: indicates where the AdminSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: 'QueryKey: indicates where the QueryKey secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + maximum: 12 + minimum: 1 + type: integer + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + enum: + - disabled + - enabled + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + maximum: 12 + minimum: 1 + type: integer + semanticSearch: + description: |- + SemanticSearch: Sets options that control the availability of semantic search. This configuration is only possible for + certain search SKUs in certain locations. + enum: + - disabled + - free + - standard + type: string + sku: + description: |- + Sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when + creating a new search service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + enum: + - basic + - free + - standard + - standard2 + - standard3 + - storage_optimized_l1 + - storage_optimized_l2 + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Describes a search service and its current state. + properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a search service would send for requests that failed + authentication. + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ApiKeyOnly: Indicates that only the API key can be used for authentication.' + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. + type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + encryptionComplianceStatus: + description: |- + EncryptionComplianceStatus: Describes whether the search service is compliant or not with respect to having + non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is + 'enabled' then the service will be marked as 'nonCompliant'. + type: string + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources.' + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of the system-assigned identity of the search service.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the system-assigned identity of the search service.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + networkRuleSet: + description: 'NetworkRuleSet: Network-specific rules that determine how the search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the + firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + items: + description: The IP restriction rule of the search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, + 123.1.2.3/24) to be allowed. + type: string + type: object + type: array + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections to the search service.' + items: + description: Describes an existing private endpoint connection to the search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The state of the last provisioning operation performed on the search service. Provisioning is an + intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState + changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling + interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is + completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to + Create search service. This is because the free service uses capacity that is already set up. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + type: integer + semanticSearch: + description: |- + SemanticSearch: Sets options that control the availability of semantic search. This configuration is only possible for + certain search SKUs in certain locations. + type: string + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources managed by the search service.' + items: + description: Describes a Shared Private Link Resource managed by the search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + sku: + description: |- + Sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when + creating a new search service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + type: string + type: object + status: + description: |- + Status: The status of the search service. Possible values include: 'running': The search service is running and no + provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. + 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the + underlying search units are not healthy. The search service is most likely operational, but performance might be slow + and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject + all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or + error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still + chargeable based on the number of search units provisioned. + type: string + statusDetails: + description: 'StatusDetails: The details of the search service status.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.SearchService + Generator information: + - Generated from: /search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.SearchService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authOptions: + description: |- + Storage version of v1api20231101.DataPlaneAuthOptions + Defines the options for how the search service authenticates a data plane request. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20231101.DataPlaneAadOrApiKeyAuthOption + Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20231101.EncryptionWithCmk + Describes a policy that determines how resources within the search service are to be encrypted with customer=managed + keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enforcement: + type: string + type: object + hostingMode: + type: string + identity: + description: |- + Storage version of v1api20231101.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + location: + type: string + networkRuleSet: + description: |- + Storage version of v1api20231101.NetworkRuleSet + Network-specific rules that determine how the search service can be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20231101.IpRule + The IP restriction rule of the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20231101.SearchServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231101.SearchServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20231101.SearchServiceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partitionCount: + type: integer + publicNetworkAccess: + type: string + replicaCount: + type: integer + semanticSearch: + type: string + sku: + description: |- + Storage version of v1api20231101.Sku + Defines the SKU of a search service, which determines billing rate and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20231101.SearchService_STATUS + Describes a search service and its current state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authOptions: + description: |- + Storage version of v1api20231101.DataPlaneAuthOptions_STATUS + Defines the options for how the search service authenticates a data plane request. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20231101.DataPlaneAadOrApiKeyAuthOption_STATUS + Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableLocalAuth: + type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20231101.EncryptionWithCmk_STATUS + Describes a policy that determines how resources within the search service are to be encrypted with customer=managed + keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionComplianceStatus: + type: string + enforcement: + type: string + type: object + hostingMode: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20231101.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + location: + type: string + name: + type: string + networkRuleSet: + description: |- + Storage version of v1api20231101.NetworkRuleSet_STATUS + Network-specific rules that determine how the search service can be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20231101.IpRule_STATUS + The IP restriction rule of the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + partitionCount: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20231101.PrivateEndpointConnection_STATUS + Describes an existing private endpoint connection to the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + replicaCount: + type: integer + semanticSearch: + type: string + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20231101.SharedPrivateLinkResource_STATUS + Describes a Shared Private Link Resource managed by the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20231101.Sku_STATUS + Defines the SKU of a search service, which determines billing rate and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + status: + type: string + statusDetails: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: secrets.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: Secret + listKind: SecretList + plural: secrets + singular: secret + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: object which contains secret parameters' + properties: + azureFirstPartyManagedCertificate: + description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' + properties: + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + type: + enum: + - AzureFirstPartyManagedCertificate + type: string + required: + - type + type: object + customerCertificate: + description: 'CustomerCertificate: Mutually exclusive with all other properties' + properties: + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + type: + enum: + - CustomerCertificate + type: string + useLatestVersion: + description: 'UseLatestVersion: Whether to use the latest version for the certificate' + type: boolean + required: + - secretSource + - type + type: object + managedCertificate: + description: 'ManagedCertificate: Mutually exclusive with all other properties' + properties: + type: + enum: + - ManagedCertificate + type: string + required: + - type + type: object + urlSigningKey: + description: 'UrlSigningKey: Mutually exclusive with all other properties' + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + type: + enum: + - UrlSigningKey + type: string + required: + - keyId + - secretSource + - type + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + parameters: + description: 'Parameters: object which contains secret parameters' + properties: + azureFirstPartyManagedCertificate: + description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' + properties: + certificateAuthority: + description: 'CertificateAuthority: Certificate issuing authority.' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subject: + description: 'Subject: Subject name in the certificate.' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: + type: string + type: object + customerCertificate: + description: 'CustomerCertificate: Mutually exclusive with all other properties' + properties: + certificateAuthority: + description: 'CertificateAuthority: Certificate issuing authority.' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + subject: + description: 'Subject: Subject name in the certificate.' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: + type: string + useLatestVersion: + description: 'UseLatestVersion: Whether to use the latest version for the certificate' + type: boolean + type: object + managedCertificate: + description: 'ManagedCertificate: Mutually exclusive with all other properties' + properties: + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subject: + description: 'Subject: Subject name in the certificate.' + type: string + type: + type: string + type: object + urlSigningKey: + description: 'UrlSigningKey: Mutually exclusive with all other properties' + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + type: + type: string + type: object + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the secret.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.Secret + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.Secret_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.SecretOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: Storage version of v1api20230501.SecretParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFirstPartyManagedCertificate: + description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subjectAlternativeNames: + items: + type: string + type: array + type: + type: string + type: object + customerCertificate: + description: Storage version of v1api20230501.CustomerCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + type: string + subjectAlternativeNames: + items: + type: string + type: array + type: + type: string + useLatestVersion: + type: boolean + type: object + managedCertificate: + description: Storage version of v1api20230501.ManagedCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + urlSigningKey: + description: Storage version of v1api20230501.UrlSigningKeyParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + type: string + type: + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.Secret_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + type: string + name: + type: string + parameters: + description: Storage version of v1api20230501.SecretParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFirstPartyManagedCertificate: + description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + type: string + expirationDate: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subject: + type: string + subjectAlternativeNames: + items: + type: string + type: array + thumbprint: + type: string + type: + type: string + type: object + customerCertificate: + description: Storage version of v1api20230501.CustomerCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + type: string + expirationDate: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + secretVersion: + type: string + subject: + type: string + subjectAlternativeNames: + items: + type: string + type: array + thumbprint: + type: string + type: + type: string + useLatestVersion: + type: boolean + type: object + managedCertificate: + description: Storage version of v1api20230501.ManagedCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationDate: + type: string + subject: + type: string + type: + type: string + type: object + urlSigningKey: + description: Storage version of v1api20230501.UrlSigningKeyParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + secretVersion: + type: string + type: + type: string + type: object + type: object + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: securitygroups.entra.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: entra.azure.com + names: + categories: + - azure + - entra + - aad + kind: SecurityGroup + listKind: SecurityGroupList + plural: securitygroups + singular: securitygroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1 + schema: + openAPIV3Schema: + description: SecurityGroup is an Entra Security Group. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + description: + description: 'Description: The description of the group.' + type: string + displayName: + description: 'DisplayName: The display name of the group.' + type: string + isAssignableToRole: + description: 'IsAssignableToRole: Indicates whether the group can be assigned to a role.' + type: boolean + mailNickname: + description: |- + MailNickname: The email address of the group, specified either as a mail nickname (`mygroup`) + or as a full email address (`mygroup@mydomain.com`). + type: string + membershipType: + description: 'MembershipType: The membership type of the group.' + enum: + - assigned + - enabled + - assignedm365 + - enabledm365 + type: string + operatorSpec: + description: 'OperatorSpec: The operator specific configuration for the resource.' + properties: + configmaps: + description: ConfigMaps specifies any config maps that should be created by the operator. + properties: + entraID: + description: 'EntraID: The Entra ID of the group.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + creationMode: + description: |- + CreationMode: Specifies how ASO will try to create the resource. + Specify "AlwaysCreate" to always create a new security group when first reconciled. + Or specify "AdoptOrCreate" to first try to adopt an existing security group with the same display name. + If multiple security groups with the same display name are found, the resource condition will show an error. + If not specified, defaults to "AdoptOrCreate". + enum: + - AdoptOrCreate + - AlwaysCreate + type: string + type: object + required: + - displayName + - mailNickname + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: The description of the group.' + type: string + displayName: + description: 'DisplayName: The display name of the group.' + type: string + entraID: + description: 'EntraID: The GUID identifing the resource in Entra' + type: string + groupEmailAddress: + description: 'MailNickname: The email address of the group.' + type: string + required: + - groupEmailAddress + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: securitypolicies.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: SecurityPolicy + listKind: SecurityPolicyList + plural: securitypolicies + singular: securitypolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: object which contains security policy parameters' + properties: + webApplicationFirewall: + description: 'WebApplicationFirewall: Mutually exclusive with all other properties' + properties: + associations: + description: 'Associations: Waf associations' + items: + description: settings for security policy patterns to match + properties: + domains: + description: 'Domains: List of domains.' + items: + description: Reference to another resource along with its state. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + patternsToMatch: + description: 'PatternsToMatch: List of paths' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the Security policy to create.' + enum: + - WebApplicationFirewall + type: string + wafPolicy: + description: 'WafPolicy: Resource ID.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - type + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + parameters: + description: 'Parameters: object which contains security policy parameters' + properties: + webApplicationFirewall: + description: 'WebApplicationFirewall: Mutually exclusive with all other properties' + properties: + associations: + description: 'Associations: Waf associations' + items: + description: settings for security policy patterns to match + properties: + domains: + description: 'Domains: List of domains.' + items: + description: Reference to another resource along with its state. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + patternsToMatch: + description: 'PatternsToMatch: List of paths' + items: + type: string + type: array + type: object + type: array + type: + description: 'Type: The type of the Security policy to create.' + type: string + wafPolicy: + description: 'WafPolicy: Resource ID.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the security policy.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.SecurityPolicy + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.SecurityPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.SecurityPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webApplicationFirewall: + description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + associations: + items: + description: |- + Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation + settings for security policy patterns to match + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + patternsToMatch: + items: + type: string + type: array + type: object + type: array + type: + type: string + wafPolicy: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.SecurityPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + type: string + name: + type: string + parameters: + description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webApplicationFirewall: + description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + associations: + items: + description: |- + Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation_STATUS + settings for security policy patterns to match + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_SecurityPolicy_SubResourceEmbedded + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + patternsToMatch: + items: + type: string + type: array + type: object + type: array + type: + type: string + wafPolicy: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serverfarms.web.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: web.azure.com + names: + categories: + - azure + - web + kind: ServerFarm + listKind: ServerFarmList + plural: serverfarms + singular: serverfarm + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + elasticScaleEnabled: + description: |- + ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was + ElasticPremium sku + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: object + freeOfferExpirationTime: + description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' + type: string + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' + properties: + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hyperV: + description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' + type: boolean + isSpot: + description: 'IsSpot: If true, this App Service Plan owns spot instances.' + type: boolean + isXenon: + description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + kubeEnvironmentProfile: + description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' + properties: + reference: + description: 'Reference: Resource ID of the Kubernetes Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource Location.' + type: string + maximumElasticWorkerCount: + description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perSiteScaling: + description: |- + PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale to all instances of the plan. + type: boolean + reserved: + description: 'Reserved: If Linux app service plan true, false otherwise.' + type: boolean + sku: + description: 'Sku: Description of a SKU for a scalable resource.' + properties: + capabilities: + description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' + items: + description: Describes the capabilities/features allowed for a specific SKU. + properties: + name: + description: 'Name: Name of the SKU capability.' + type: string + reason: + description: 'Reason: Reason of the SKU capability.' + type: string + value: + description: 'Value: Value of the SKU capability.' + type: string + type: object + type: array + capacity: + description: 'Capacity: Current number of instances assigned to the resource.' + type: integer + family: + description: 'Family: Family code of the resource SKU.' + type: string + locations: + description: 'Locations: Locations of the SKU.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource SKU.' + type: string + size: + description: 'Size: Size specifier of the resource SKU.' + type: string + skuCapacity: + description: 'SkuCapacity: Min, max, and default scale values of the SKU.' + properties: + default: + description: 'Default: Default number of workers for this App Service plan SKU.' + type: integer + elasticMaximum: + description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' + type: integer + maximum: + description: 'Maximum: Maximum number of workers for this App Service plan SKU.' + type: integer + minimum: + description: 'Minimum: Minimum number of workers for this App Service plan SKU.' + type: integer + scaleType: + description: 'ScaleType: Available scale configurations for an App Service plan.' + type: string + type: object + tier: + description: 'Tier: Service tier of the resource SKU.' + type: string + type: object + spotExpirationTime: + description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetWorkerCount: + description: 'TargetWorkerCount: Scaling worker count.' + type: integer + targetWorkerSizeId: + description: 'TargetWorkerSizeId: Scaling worker size ID.' + type: integer + workerTierName: + description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. + If false, this App Service Plan will not perform availability zone balancing. + type: boolean + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + elasticScaleEnabled: + description: |- + ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was + ElasticPremium sku + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: + description: 'Type: Type of extended location.' + type: string + type: object + freeOfferExpirationTime: + description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' + type: string + geoRegion: + description: 'GeoRegion: Geographical location for the App Service plan.' + type: string + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' + properties: + id: + description: 'Id: Resource ID of the App Service Environment.' + type: string + name: + description: 'Name: Name of the App Service Environment.' + type: string + type: + description: 'Type: Resource type of the App Service Environment.' + type: string + type: object + hyperV: + description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' + type: boolean + id: + description: 'Id: Resource Id.' + type: string + isSpot: + description: 'IsSpot: If true, this App Service Plan owns spot instances.' + type: boolean + isXenon: + description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + kubeEnvironmentProfile: + description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' + properties: + id: + description: 'Id: Resource ID of the Kubernetes Environment.' + type: string + name: + description: 'Name: Name of the Kubernetes Environment.' + type: string + type: + description: 'Type: Resource type of the Kubernetes Environment.' + type: string + type: object + location: + description: 'Location: Resource Location.' + type: string + maximumElasticWorkerCount: + description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' + type: integer + maximumNumberOfWorkers: + description: 'MaximumNumberOfWorkers: Maximum number of instances that can be assigned to this App Service plan.' + type: integer + name: + description: 'Name: Resource Name.' + type: string + numberOfSites: + description: 'NumberOfSites: Number of apps assigned to this App Service plan.' + type: integer + numberOfWorkers: + description: 'NumberOfWorkers: The number of instances that are assigned to this App Service plan.' + type: integer + perSiteScaling: + description: |- + PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale to all instances of the plan. + type: boolean + provisioningState: + description: 'ProvisioningState: Provisioning state of the App Service Plan.' + type: string + reserved: + description: 'Reserved: If Linux app service plan true, false otherwise.' + type: boolean + resourceGroup: + description: 'ResourceGroup: Resource group of the App Service plan.' + type: string + sku: + description: 'Sku: Description of a SKU for a scalable resource.' + properties: + capabilities: + description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' + items: + description: Describes the capabilities/features allowed for a specific SKU. + properties: + name: + description: 'Name: Name of the SKU capability.' + type: string + reason: + description: 'Reason: Reason of the SKU capability.' + type: string + value: + description: 'Value: Value of the SKU capability.' + type: string + type: object + type: array + capacity: + description: 'Capacity: Current number of instances assigned to the resource.' + type: integer + family: + description: 'Family: Family code of the resource SKU.' + type: string + locations: + description: 'Locations: Locations of the SKU.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource SKU.' + type: string + size: + description: 'Size: Size specifier of the resource SKU.' + type: string + skuCapacity: + description: 'SkuCapacity: Min, max, and default scale values of the SKU.' + properties: + default: + description: 'Default: Default number of workers for this App Service plan SKU.' + type: integer + elasticMaximum: + description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' + type: integer + maximum: + description: 'Maximum: Maximum number of workers for this App Service plan SKU.' + type: integer + minimum: + description: 'Minimum: Minimum number of workers for this App Service plan SKU.' + type: integer + scaleType: + description: 'ScaleType: Available scale configurations for an App Service plan.' + type: string + type: object + tier: + description: 'Tier: Service tier of the resource SKU.' + type: string + type: object + spotExpirationTime: + description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' + type: string + status: + description: 'Status: App Service plan status.' + type: string + subscription: + description: 'Subscription: App Service plan subscription.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetWorkerCount: + description: 'TargetWorkerCount: Scaling worker count.' + type: integer + targetWorkerSizeId: + description: 'TargetWorkerSizeId: Scaling worker size ID.' + type: integer + type: + description: 'Type: Resource type.' + type: string + workerTierName: + description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. + If false, this App Service Plan will not perform availability zone balancing. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.ServerFarm + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.ServerFarm_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + elasticScaleEnabled: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + freeOfferExpirationTime: + type: string + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hyperV: + type: boolean + isSpot: + type: boolean + isXenon: + type: boolean + kind: + type: string + kubeEnvironmentProfile: + description: |- + Storage version of v1api20220301.KubeEnvironmentProfile + Specification for a Kubernetes Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of the Kubernetes Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + maximumElasticWorkerCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20220301.ServerFarmOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perSiteScaling: + type: boolean + reserved: + type: boolean + sku: + description: |- + Storage version of v1api20220301.SkuDescription + Description of a SKU for a scalable resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capabilities: + items: + description: |- + Storage version of v1api20220301.Capability + Describes the capabilities/features allowed for a specific SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + reason: + type: string + value: + type: string + type: object + type: array + capacity: + type: integer + family: + type: string + locations: + items: + type: string + type: array + name: + type: string + size: + type: string + skuCapacity: + description: |- + Storage version of v1api20220301.SkuCapacity + Description of the App Service plan scale options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: integer + elasticMaximum: + type: integer + maximum: + type: integer + minimum: + type: integer + scaleType: + type: string + type: object + tier: + type: string + type: object + spotExpirationTime: + type: string + tags: + additionalProperties: + type: string + type: object + targetWorkerCount: + type: integer + targetWorkerSizeId: + type: integer + workerTierName: + type: string + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20220301.ServerFarm_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + elasticScaleEnabled: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + freeOfferExpirationTime: + type: string + geoRegion: + type: string + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile_STATUS + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + hyperV: + type: boolean + id: + type: string + isSpot: + type: boolean + isXenon: + type: boolean + kind: + type: string + kubeEnvironmentProfile: + description: |- + Storage version of v1api20220301.KubeEnvironmentProfile_STATUS + Specification for a Kubernetes Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + location: + type: string + maximumElasticWorkerCount: + type: integer + maximumNumberOfWorkers: + type: integer + name: + type: string + numberOfSites: + type: integer + numberOfWorkers: + type: integer + perSiteScaling: + type: boolean + provisioningState: + type: string + reserved: + type: boolean + resourceGroup: + type: string + sku: + description: |- + Storage version of v1api20220301.SkuDescription_STATUS + Description of a SKU for a scalable resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capabilities: + items: + description: |- + Storage version of v1api20220301.Capability_STATUS + Describes the capabilities/features allowed for a specific SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + reason: + type: string + value: + type: string + type: object + type: array + capacity: + type: integer + family: + type: string + locations: + items: + type: string + type: array + name: + type: string + size: + type: string + skuCapacity: + description: |- + Storage version of v1api20220301.SkuCapacity_STATUS + Description of the App Service plan scale options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: integer + elasticMaximum: + type: integer + maximum: + type: integer + minimum: + type: integer + scaleType: + type: string + type: object + tier: + type: string + type: object + spotExpirationTime: + type: string + status: + type: string + subscription: + type: string + tags: + additionalProperties: + type: string + type: object + targetWorkerCount: + type: integer + targetWorkerSizeId: + type: integer + type: + type: string + workerTierName: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: servers.dbformariadb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformariadb.azure.com + names: + categories: + - azure + - dbformariadb + kind: Server + listKind: ServerList + plural: servers + singular: server + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location the resource resides in.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of the server.' + properties: + default: + description: 'Default: Mutually exclusive with all other properties' + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - Default + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - administratorLogin + - administratorLoginPassword + - createMode + type: object + geoRestore: + description: 'GeoRestore: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - GeoRestore + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sourceServerId: + description: 'SourceServerId: The source server id to restore from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - sourceServerId + type: object + pointInTimeRestore: + description: 'PointInTimeRestore: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - PointInTimeRestore + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sourceServerId: + description: 'SourceServerId: The source server id to restore from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - restorePointInTime + - sourceServerId + type: object + replica: + description: 'Replica: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - Replica + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sourceServerId: + description: 'SourceServerId: The master server id to create replica from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - sourceServerId + type: object + type: object + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + capacity: + description: 'Capacity: The scale up/out capacity, representing server''s compute units.' + minimum: 0 + type: integer + family: + description: 'Family: The family of hardware.' + type: string + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' + type: string + size: + description: 'Size: The size code, to be interpreted by resource as appropriate.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Basic.' + enum: + - Basic + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Application-specific metadata in the form of key-value pairs.' + type: object + required: + - location + - owner + - properties + type: object + status: + description: Represents a server. + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + masterServerId: + description: 'MasterServerId: The master server id of a replica server.' + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections on a server' + items: + description: A private endpoint connection under a server + properties: + id: + description: 'Id: Resource Id of the private endpoint connection.' + type: string + properties: + description: 'Properties: Private endpoint connection properties' + properties: + privateEndpoint: + description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' + properties: + id: + description: 'Id: Resource id of the private endpoint.' + type: string + type: object + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' + properties: + actionsRequired: + description: 'ActionsRequired: The actions required for private link service connection.' + type: string + description: + description: 'Description: The private link service connection description.' + type: string + status: + description: 'Status: The private link service connection status.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: State of the private endpoint connection.' + type: string + type: object + type: object + type: array + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + type: string + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a master server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role of the server.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + capacity: + description: 'Capacity: The scale up/out capacity, representing server''s compute units.' + type: integer + family: + description: 'Family: The family of hardware.' + type: string + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' + type: string + size: + description: 'Size: The size code, to be interpreted by resource as appropriate.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Basic.' + type: string + type: object + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + userVisibleState: + description: 'UserVisibleState: A state of a server that is visible to user.' + type: string + version: + description: 'Version: Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Server + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Server_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.ServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20180601.ServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20180601.ServerPropertiesForCreate + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + description: Storage version of v1api20180601.ServerPropertiesForDefaultCreate + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + geoRestore: + description: Storage version of v1api20180601.ServerPropertiesForGeoRestore + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + pointInTimeRestore: + description: Storage version of v1api20180601.ServerPropertiesForRestore + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + restorePointInTime: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + replica: + description: Storage version of v1api20180601.ServerPropertiesForReplica + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20180601.Sku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20180601.Server_STATUS + Represents a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + earliestRestoreDate: + type: string + fullyQualifiedDomainName: + type: string + id: + type: string + location: + type: string + masterServerId: + type: string + minimalTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20180601.ServerPrivateEndpointConnection_STATUS + A private endpoint connection under a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + properties: + description: |- + Storage version of v1api20180601.ServerPrivateEndpointConnectionProperties_STATUS + Properties of a private endpoint connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateEndpoint: + description: Storage version of v1api20180601.PrivateEndpointProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: Storage version of v1api20180601.ServerPrivateLinkServiceConnectionStateProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: object + type: object + type: array + publicNetworkAccess: + type: string + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20180601.Sku_STATUS + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + userVisibleState: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: servers.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: Server + listKind: ServerList + plural: servers + singular: server + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorLogin: + description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + administrators: + description: 'Administrators: The Azure Active Directory administrator of the server.' + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + login: + description: 'Login: Login name of the server administrator.' + type: string + principalType: + description: 'PrincipalType: Principal Type of the sever administrator.' + enum: + - Application + - Group + - User + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + identity: + description: 'Identity: The Azure Active Directory identity of the server.' + properties: + type: + description: |- + Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active + Directory principal for the resource. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyId: + description: 'KeyId: A CMK URI of the key to use for encryption.' + type: string + location: + description: 'Location: Resource location.' + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional + but if passed in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: The version of the server.' + type: string + required: + - location + - owner + type: object + status: + description: An Azure SQL Database server. + properties: + administratorLogin: + description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' + type: string + administrators: + description: 'Administrators: The Azure Active Directory administrator of the server.' + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + login: + description: 'Login: Login name of the server administrator.' + type: string + principalType: + description: 'PrincipalType: Principal Type of the sever administrator.' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' + type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of the server.' + type: string + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The Azure Active Directory identity of the server.' + properties: + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' + type: string + tenantId: + description: 'TenantId: The Azure Active Directory tenant id.' + type: string + type: + description: |- + Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active + Directory principal for the resource. + type: string + userAssignedIdentities: + additionalProperties: + description: Azure Active Directory identity configuration for a resource. + properties: + clientId: + description: 'ClientId: The Azure Active Directory client id.' + type: string + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' + type: string + type: object + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + type: object + type: object + keyId: + description: 'KeyId: A CMK URI of the key to use for encryption.' + type: string + kind: + description: 'Kind: Kind of sql server. This is metadata used for the Azure portal experience.' + type: string + location: + description: 'Location: Resource location.' + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' + type: string + name: + description: 'Name: Resource name.' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: The resource id of a user assigned identity to be used by default.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections on a server' + items: + description: A private endpoint connection under a server + properties: + id: + description: 'Id: Resource ID.' + type: string + properties: + description: 'Properties: Private endpoint connection properties' + properties: + groupIds: + description: 'GroupIds: Group IDs.' + items: + type: string + type: array + privateEndpoint: + description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' + properties: + id: + description: 'Id: Resource id of the private endpoint.' + type: string + type: object + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' + properties: + actionsRequired: + description: 'ActionsRequired: The actions required for private link service connection.' + type: string + description: + description: 'Description: The private link service connection description.' + type: string + status: + description: 'Status: The private link service connection status.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: State of the private endpoint connection.' + type: string + type: object + type: object + type: array + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional + but if passed in, must be 'Enabled' or 'Disabled' + type: string + state: + description: 'State: The state of the server.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + version: + description: 'Version: The version of the server.' + type: string + workspaceFeature: + description: 'WorkspaceFeature: Whether or not existing server has a workspace created and if it allows connection from workspace' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Server + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Server_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + administrators: + description: |- + Storage version of v1api20211101.ServerExternalAdministrator + Properties of a active directory administrator. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + login: + type: string + principalType: + type: string + sid: + type: string + tenantId: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + federatedClientId: + type: string + identity: + description: |- + Storage version of v1api20211101.ResourceIdentity + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyId: + type: string + location: + type: string + minimalTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20211101.ServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20211101.Server_STATUS + An Azure SQL Database server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administrators: + description: |- + Storage version of v1api20211101.ServerExternalAdministrator_STATUS + Properties of a active directory administrator. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + login: + type: string + principalType: + type: string + sid: + type: string + tenantId: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + federatedClientId: + type: string + fullyQualifiedDomainName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20211101.ResourceIdentity_STATUS + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211101.UserIdentity_STATUS + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyId: + type: string + kind: + type: string + location: + type: string + minimalTlsVersion: + type: string + name: + type: string + primaryUserAssignedIdentityId: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20211101.ServerPrivateEndpointConnection_STATUS + A private endpoint connection under a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + properties: + description: |- + Storage version of v1api20211101.PrivateEndpointConnectionProperties_STATUS + Properties of a private endpoint connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + privateEndpoint: + description: Storage version of v1api20211101.PrivateEndpointProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: Storage version of v1api20211101.PrivateLinkServiceConnectionStateProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: object + type: object + type: array + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + state: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + workspaceFeature: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversadministrators.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAdministrator + listKind: ServersAdministratorList + plural: serversadministrators + singular: serversadministrator + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + description: 'Sid: SID (object ID) of the server administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - administratorType + - login + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + name: + description: 'Name: Resource name.' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAdministrator + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAdministrator_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + login: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAdministratorOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAdministrator_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + login: + type: string + name: + type: string + sid: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversadvancedthreatprotectionsettings.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAdvancedThreatProtectionSetting + listKind: ServersAdvancedThreatProtectionSettingList + plural: serversadvancedthreatprotectionsettings + singular: serversadvancedthreatprotectionsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + enum: + - Disabled + - Enabled + - New + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + type: string + systemData: + description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAdvancedThreatProtectionSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + id: + type: string + name: + type: string + state: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversauditingsettings.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAuditingSetting + listKind: ServersAuditingSettingList + plural: serversauditingsettings + singular: serversauditingsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isDevopsAuditEnabled: + description: |- + IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure + Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and + 'IsDevopsAuditEnabled' as true + When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on + the master database should also be created. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. + If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server + system-assigned managed identity to access the storage. + Prerequisites for using managed identity authentication: + 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the + server identity. + For more information, see [Auditing to storage using Managed Identity + authentication](https://go.microsoft.com/fwlink/?linkid=2114355) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string + required: + - owner + - state + type: object + status: + properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isDevopsAuditEnabled: + description: |- + IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure + Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and + 'IsDevopsAuditEnabled' as true + When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on + the master database should also be created. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean + name: + description: 'Name: Resource name.' + type: string + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + type: string + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAuditingSetting + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAuditingSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auditActionsAndGroups: + items: + type: string + type: array + isAzureMonitorTargetEnabled: + type: boolean + isDevopsAuditEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAuditingSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAuditingSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auditActionsAndGroups: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + isAzureMonitorTargetEnabled: + type: boolean + isDevopsAuditEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean + name: + type: string + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversazureadonlyauthentications.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAzureADOnlyAuthentication + listKind: ServersAzureADOnlyAuthenticationList + plural: serversazureadonlyauthentications + singular: serversazureadonlyauthentication + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - azureADOnlyAuthentication + - owner + type: object + status: + properties: + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAzureADOnlyAuthentication + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureADOnlyAuthentication: + type: boolean + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAzureADOnlyAuthenticationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureADOnlyAuthentication: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversconnectionpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersConnectionPolicy + listKind: ServersConnectionPolicyList + plural: serversconnectionpolicies + singular: serversconnectionpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + connectionType: + description: 'ConnectionType: The server connection type.' + enum: + - Default + - Proxy + - Redirect + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - connectionType + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectionType: + description: 'ConnectionType: The server connection type.' + type: string + id: + description: 'Id: Resource ID.' + type: string + kind: + description: 'Kind: Metadata used for the Azure portal experience.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersConnectionPolicy + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersConnectionPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionType: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersConnectionPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersConnectionPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectionType: + type: string + id: + type: string + kind: + type: string + location: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabases.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabase + listKind: ServersDatabaseList + plural: serversdatabases + singular: serversdatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoPauseDelay: + description: |- + AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause + is disabled + type: integer + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + catalogCollation: + description: 'CatalogCollation: Collation of the metadata catalog.' + enum: + - DATABASE_DEFAULT + - SQL_Latin1_General_CP1_CI_AS + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + createMode: + description: |- + CreateMode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the + source database. + Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId + must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable + database resource ID to restore. + Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If + sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise + sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. + restorePointInTime may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. + recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. + enum: + - Copy + - Default + - OnlineSecondary + - PointInTimeRestore + - Recovery + - Restore + - RestoreExternalBackup + - RestoreExternalBackupSecondary + - RestoreLongTermRetentionBackup + - Secondary + type: string + elasticPoolReference: + description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide + high availability. Not applicable to a Hyperscale database within an elastic pool. + type: integer + identity: + description: 'Identity: The Azure Active Directory identity of the database.' + properties: + type: + description: 'Type: The identity type' + enum: + - None + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isLedgerOn: + description: |- + IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. + Note: the value of this property cannot be changed after the database has been created. + type: boolean + licenseType: + description: |- + LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you + have a license and are eligible for the Azure Hybrid Benefit. + enum: + - BasePrice + - LicenseIncluded + type: string + location: + description: 'Location: Resource location.' + type: string + longTermRetentionBackupResourceReference: + description: |- + LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with + create operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + maintenanceConfigurationId: + description: |- + MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period + when the maintenance updates will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The max size of the database expressed in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' + type: number + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readScale: + description: |- + ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their + connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale + database within an elastic pool. + enum: + - Disabled + - Enabled + type: string + recoverableDatabaseReference: + description: |- + RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of + this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + recoveryServicesRecoveryPointReference: + description: |- + RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation + of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestedBackupStorageRedundancy: + description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' + enum: + - Geo + - GeoZone + - Local + - Zone + type: string + restorableDroppedDatabaseReference: + description: |- + RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create + operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + restorePointInTime: + description: |- + RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create + the new database. + type: string + sampleName: + description: 'SampleName: The name of the sample schema to apply when creating this database.' + enum: + - AdventureWorksLT + - WideWorldImportersFull + - WideWorldImportersStd + type: string + secondaryType: + description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' + enum: + - Geo + - Named + type: string + sku: + description: |- + Sku: The database SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or one of the following commands: + ```azurecli + az sql db list-editions -l -o table + ```` + ```powershell + Get-AzSqlServerServiceObjective -Location + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + required: + - name + type: object + sourceDatabaseDeletionDate: + description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' + type: string + sourceDatabaseReference: + description: |- + SourceDatabaseReference: The resource identifier of the source database associated with create operation of this + database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceResourceReference: + description: |- + SourceResourceReference: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread + across multiple availability zones. + type: boolean + required: + - location + - owner + type: object + status: + properties: + autoPauseDelay: + description: |- + AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause + is disabled + type: integer + catalogCollation: + description: 'CatalogCollation: Collation of the metadata catalog.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: |- + CreateMode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the + source database. + Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId + must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable + database resource ID to restore. + Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If + sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise + sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. + restorePointInTime may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. + recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. + type: string + creationDate: + description: 'CreationDate: The creation date of the database (ISO8601 format).' + type: string + currentBackupStorageRedundancy: + description: 'CurrentBackupStorageRedundancy: The storage account type used to store backups for this database.' + type: string + currentServiceObjectiveName: + description: 'CurrentServiceObjectiveName: The current service level objective name of the database.' + type: string + currentSku: + description: 'CurrentSku: The name and tier of the SKU.' + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + type: object + databaseId: + description: 'DatabaseId: The ID of the database.' + type: string + defaultSecondaryLocation: + description: 'DefaultSecondaryLocation: The default secondary region for this database.' + type: string + earliestRestoreDate: + description: |- + EarliestRestoreDate: This records the earliest start date and time that restore is available for this database (ISO8601 + format). + type: string + elasticPoolId: + description: 'ElasticPoolId: The resource identifier of the elastic pool containing this database.' + type: string + failoverGroupId: + description: 'FailoverGroupId: Failover Group resource identifier that this database belongs to.' + type: string + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' + type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide + high availability. Not applicable to a Hyperscale database within an elastic pool. + type: integer + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The Azure Active Directory identity of the database.' + properties: + tenantId: + description: 'TenantId: The Azure Active Directory tenant id.' + type: string + type: + description: 'Type: The identity type' + type: string + userAssignedIdentities: + additionalProperties: + description: Azure Active Directory identity configuration for a resource. + properties: + clientId: + description: 'ClientId: The Azure Active Directory client id.' + type: string + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' + type: string + type: object + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + type: object + type: object + isInfraEncryptionEnabled: + description: 'IsInfraEncryptionEnabled: Infra encryption is enabled for this database.' + type: boolean + isLedgerOn: + description: |- + IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. + Note: the value of this property cannot be changed after the database has been created. + type: boolean + kind: + description: 'Kind: Kind of database. This is metadata used for the Azure portal experience.' + type: string + licenseType: + description: |- + LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you + have a license and are eligible for the Azure Hybrid Benefit. + type: string + location: + description: 'Location: Resource location.' + type: string + longTermRetentionBackupResourceId: + description: |- + LongTermRetentionBackupResourceId: The resource identifier of the long term retention backup associated with create + operation of this database. + type: string + maintenanceConfigurationId: + description: |- + MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period + when the maintenance updates will occur. + type: string + managedBy: + description: 'ManagedBy: Resource that manages the database.' + type: string + maxLogSizeBytes: + description: 'MaxLogSizeBytes: The max log size for this database.' + type: integer + maxSizeBytes: + description: 'MaxSizeBytes: The max size of the database expressed in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' + type: number + name: + description: 'Name: Resource name.' + type: string + pausedDate: + description: |- + PausedDate: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is + ready. + type: string + readScale: + description: |- + ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their + connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale + database within an elastic pool. + type: string + recoverableDatabaseId: + description: |- + RecoverableDatabaseId: The resource identifier of the recoverable database associated with create operation of this + database. + type: string + recoveryServicesRecoveryPointId: + description: |- + RecoveryServicesRecoveryPointId: The resource identifier of the recovery point associated with create operation of this + database. + type: string + requestedBackupStorageRedundancy: + description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' + type: string + requestedServiceObjectiveName: + description: 'RequestedServiceObjectiveName: The requested service level objective name of the database.' + type: string + restorableDroppedDatabaseId: + description: |- + RestorableDroppedDatabaseId: The resource identifier of the restorable dropped database associated with create operation + of this database. + type: string + restorePointInTime: + description: |- + RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create + the new database. + type: string + resumedDate: + description: |- + ResumedDate: The date when database was resumed by user action or database login (ISO8601 format). Null if the database + is paused. + type: string + sampleName: + description: 'SampleName: The name of the sample schema to apply when creating this database.' + type: string + secondaryType: + description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' + type: string + sku: + description: |- + Sku: The database SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or one of the following commands: + ```azurecli + az sql db list-editions -l -o table + ```` + ```powershell + Get-AzSqlServerServiceObjective -Location + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + type: object + sourceDatabaseDeletionDate: + description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' + type: string + sourceDatabaseId: + description: 'SourceDatabaseId: The resource identifier of the source database associated with create operation of this database.' + type: string + sourceResourceId: + description: |- + SourceResourceId: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + type: string + status: + description: 'Status: The status of the database.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread + across multiple availability zones. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabase + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseDelay: + type: integer + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + catalogCollation: + type: string + collation: + type: string + createMode: + type: string + elasticPoolReference: + description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + federatedClientId: + type: string + highAvailabilityReplicaCount: + type: integer + identity: + description: |- + Storage version of v1api20211101.DatabaseIdentity + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isLedgerOn: + type: boolean + licenseType: + type: string + location: + type: string + longTermRetentionBackupResourceReference: + description: |- + LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with + create operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readScale: + type: string + recoverableDatabaseReference: + description: |- + RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of + this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + recoveryServicesRecoveryPointReference: + description: |- + RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation + of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestedBackupStorageRedundancy: + type: string + restorableDroppedDatabaseReference: + description: |- + RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create + operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + restorePointInTime: + type: string + sampleName: + type: string + secondaryType: + type: string + sku: + description: |- + Storage version of v1api20211101.Sku + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + sourceDatabaseDeletionDate: + type: string + sourceDatabaseReference: + description: |- + SourceDatabaseReference: The resource identifier of the source database associated with create operation of this + database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceResourceReference: + description: |- + SourceResourceReference: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseDelay: + type: integer + catalogCollation: + type: string + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + creationDate: + type: string + currentBackupStorageRedundancy: + type: string + currentServiceObjectiveName: + type: string + currentSku: + description: |- + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + databaseId: + type: string + defaultSecondaryLocation: + type: string + earliestRestoreDate: + type: string + elasticPoolId: + type: string + failoverGroupId: + type: string + federatedClientId: + type: string + highAvailabilityReplicaCount: + type: integer + id: + type: string + identity: + description: |- + Storage version of v1api20211101.DatabaseIdentity_STATUS + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211101.DatabaseUserIdentity_STATUS + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + isInfraEncryptionEnabled: + type: boolean + isLedgerOn: + type: boolean + kind: + type: string + licenseType: + type: string + location: + type: string + longTermRetentionBackupResourceId: + type: string + maintenanceConfigurationId: + type: string + managedBy: + type: string + maxLogSizeBytes: + type: integer + maxSizeBytes: + type: integer + minCapacity: + type: number + name: + type: string + pausedDate: + type: string + readScale: + type: string + recoverableDatabaseId: + type: string + recoveryServicesRecoveryPointId: + type: string + requestedBackupStorageRedundancy: + type: string + requestedServiceObjectiveName: + type: string + restorableDroppedDatabaseId: + type: string + restorePointInTime: + type: string + resumedDate: + type: string + sampleName: + type: string + secondaryType: + type: string + sku: + description: |- + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + sourceDatabaseDeletionDate: + type: string + sourceDatabaseId: + type: string + sourceResourceId: + type: string + status: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasesadvancedthreatprotectionsettings.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesAdvancedThreatProtectionSetting + listKind: ServersDatabasesAdvancedThreatProtectionSettingList + plural: serversdatabasesadvancedthreatprotectionsettings + singular: serversdatabasesadvancedthreatprotectionsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + enum: + - Disabled + - Enabled + - New + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + type: string + systemData: + description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + id: + type: string + name: + type: string + state: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasesauditingsettings.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesAuditingSetting + listKind: ServersDatabasesAuditingSettingList + plural: serversdatabasesauditingsettings + singular: serversdatabasesauditingsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. + If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server + system-assigned managed identity to access the storage. + Prerequisites for using managed identity authentication: + 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the + server identity. + For more information, see [Auditing to storage using Managed Identity + authentication](https://go.microsoft.com/fwlink/?linkid=2114355) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string + required: + - owner + - state + type: object + status: + properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean + kind: + description: 'Kind: Resource kind.' + type: string + name: + description: 'Name: Resource name.' + type: string + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + type: string + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesAuditingSetting + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auditActionsAndGroups: + items: + type: string + type: array + isAzureMonitorTargetEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesAuditingSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auditActionsAndGroups: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + isAzureMonitorTargetEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean + kind: + type: string + name: + type: string + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasesbackuplongtermretentionpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesBackupLongTermRetentionPolicy + listKind: ServersDatabasesBackupLongTermRetentionPolicyList + plural: serversdatabasesbackuplongtermretentionpolicies + singular: serversdatabasesbackuplongtermretentionpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + monthlyRetention: + description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + weekOfYear: + description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' + type: integer + weeklyRetention: + description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' + type: string + yearlyRetention: + description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + monthlyRetention: + description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' + type: string + name: + description: 'Name: Resource name.' + type: string + type: + description: 'Type: Resource type.' + type: string + weekOfYear: + description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' + type: integer + weeklyRetention: + description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' + type: string + yearlyRetention: + description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + monthlyRetention: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + weekOfYear: + type: integer + weeklyRetention: + type: string + yearlyRetention: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + monthlyRetention: + type: string + name: + type: string + type: + type: string + weekOfYear: + type: integer + weeklyRetention: + type: string + yearlyRetention: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasesbackupshorttermretentionpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesBackupShortTermRetentionPolicy + listKind: ServersDatabasesBackupShortTermRetentionPolicyList + plural: serversdatabasesbackupshorttermretentionpolicies + singular: serversdatabasesbackupshorttermretentionpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + diffBackupIntervalInHours: + description: |- + DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each + differential backup will be supported. This is only applicable to live databases but not dropped databases. + enum: + - 12 + - 24 + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' + type: integer + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diffBackupIntervalInHours: + description: |- + DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each + differential backup will be supported. This is only applicable to live databases but not dropped databases. + type: integer + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + retentionDays: + description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' + type: integer + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diffBackupIntervalInHours: + type: integer + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diffBackupIntervalInHours: + type: integer + id: + type: string + name: + type: string + retentionDays: + type: integer + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasessecurityalertpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesSecurityAlertPolicy + listKind: ServersDatabasesSecurityAlertPolicyList + plural: serversdatabasessecurityalertpolicies + singular: serversdatabasessecurityalertpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + disabledAlerts: + description: |- + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: + description: |- + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' + type: string + disabledAlerts: + description: |- + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: + description: |- + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. + type: string + systemData: + description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageEndpoint: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array + id: + type: string + name: + type: string + retentionDays: + type: integer + state: + type: string + storageEndpoint: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasestransparentdataencryptions.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesTransparentDataEncryption + listKind: ServersDatabasesTransparentDataEncryptionList + plural: serversdatabasestransparentdataencryptions + singular: serversdatabasestransparentdataencryption + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: 'State: Specifies the state of the transparent data encryption.' + enum: + - Disabled + - Enabled + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + state: + description: 'State: Specifies the state of the transparent data encryption.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesTransparentDataEncryptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + state: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversdatabasesvulnerabilityassessments.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersDatabasesVulnerabilityAssessment + listKind: ServersDatabasesVulnerabilityAssessmentList + plural: serversdatabasesvulnerabilityassessments + singular: serversdatabasesvulnerabilityassessment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. + If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is + not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set + type: string + storageContainerPathFromConfig: + description: |- + StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in + 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + Applies only if the storage account is not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + type: string + storageContainerPathFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageContainerPath: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serverselasticpools.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersElasticPool + listKind: ServersElasticPoolList + plural: serverselasticpools + singular: serverselasticpool + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide + high availability. Applicable only to Hyperscale elastic pools. + type: integer + licenseType: + description: 'LicenseType: The license type to apply for this elastic pool.' + enum: + - BasePrice + - LicenseIncluded + type: string + location: + description: 'Location: Resource location.' + type: string + maintenanceConfigurationId: + description: |- + MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the + period when the maintenance updates will will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' + type: number + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perDatabaseSettings: + description: 'PerDatabaseSettings: The per database settings for the elastic pool.' + properties: + maxCapacity: + description: 'MaxCapacity: The maximum capacity any one database can consume.' + type: number + minCapacity: + description: 'MinCapacity: The minimum capacity all databases are guaranteed.' + type: number + type: object + sku: + description: |- + Sku: The elastic pool SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or the following command: + ```azurecli + az sql elastic-pool list-editions -l -o table + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be + spread across multiple availability zones. + type: boolean + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + description: 'CreationDate: The creation date of the elastic pool (ISO8601 format).' + type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide + high availability. Applicable only to Hyperscale elastic pools. + type: integer + id: + description: 'Id: Resource ID.' + type: string + kind: + description: 'Kind: Kind of elastic pool. This is metadata used for the Azure portal experience.' + type: string + licenseType: + description: 'LicenseType: The license type to apply for this elastic pool.' + type: string + location: + description: 'Location: Resource location.' + type: string + maintenanceConfigurationId: + description: |- + MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the + period when the maintenance updates will will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' + type: number + name: + description: 'Name: Resource name.' + type: string + perDatabaseSettings: + description: 'PerDatabaseSettings: The per database settings for the elastic pool.' + properties: + maxCapacity: + description: 'MaxCapacity: The maximum capacity any one database can consume.' + type: number + minCapacity: + description: 'MinCapacity: The minimum capacity all databases are guaranteed.' + type: number + type: object + sku: + description: |- + Sku: The elastic pool SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or the following command: + ```azurecli + az sql elastic-pool list-editions -l -o table + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + type: object + state: + description: 'State: The state of the elastic pool.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be + spread across multiple availability zones. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersElasticPool + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersElasticPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + highAvailabilityReplicaCount: + type: integer + licenseType: + type: string + location: + type: string + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number + operatorSpec: + description: |- + Storage version of v1api20211101.ServersElasticPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perDatabaseSettings: + description: |- + Storage version of v1api20211101.ElasticPoolPerDatabaseSettings + Per database settings of an elastic pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: number + minCapacity: + type: number + type: object + sku: + description: |- + Storage version of v1api20211101.Sku + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersElasticPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + type: string + highAvailabilityReplicaCount: + type: integer + id: + type: string + kind: + type: string + licenseType: + type: string + location: + type: string + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number + name: + type: string + perDatabaseSettings: + description: |- + Storage version of v1api20211101.ElasticPoolPerDatabaseSettings_STATUS + Per database settings of an elastic pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: number + minCapacity: + type: number + type: object + sku: + description: |- + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + state: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversfailovergroups.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersFailoverGroup + listKind: ServersFailoverGroupList + plural: serversfailovergroups + singular: serversfailovergroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databasesReferences: + description: 'DatabasesReferences: List of databases in the failover group.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partnerServers: + description: 'PartnerServers: List of partner server information for the failover group.' + items: + description: Partner server information for the failover group. + properties: + reference: + description: 'Reference: Resource identifier of the partner server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + readOnlyEndpoint: + description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' + properties: + failoverPolicy: + description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' + enum: + - Disabled + - Enabled + type: string + type: object + readWriteEndpoint: + description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' + properties: + failoverPolicy: + description: |- + FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. + enum: + - Automatic + - Manual + type: string + failoverWithDataLossGracePeriodMinutes: + description: |- + FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write + endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + type: integer + required: + - failoverPolicy + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + - partnerServers + - readWriteEndpoint + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databases: + description: 'Databases: List of databases in the failover group.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + partnerServers: + description: 'PartnerServers: List of partner server information for the failover group.' + items: + description: Partner server information for the failover group. + properties: + id: + description: 'Id: Resource identifier of the partner server.' + type: string + location: + description: 'Location: Geo location of the partner server.' + type: string + replicationRole: + description: 'ReplicationRole: Replication role of the partner server.' + type: string + type: object + type: array + readOnlyEndpoint: + description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' + properties: + failoverPolicy: + description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' + type: string + type: object + readWriteEndpoint: + description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' + properties: + failoverPolicy: + description: |- + FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. + type: string + failoverWithDataLossGracePeriodMinutes: + description: |- + FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write + endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + type: integer + type: object + replicationRole: + description: 'ReplicationRole: Local replication role of the failover group instance.' + type: string + replicationState: + description: 'ReplicationState: Replication state of the failover group instance.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersFailoverGroup + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersFailoverGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databasesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20211101.ServersFailoverGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + partnerServers: + items: + description: |- + Storage version of v1api20211101.PartnerInfo + Partner server information for the failover group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource identifier of the partner server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + readOnlyEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint + Read-only endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + type: object + readWriteEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadWriteEndpoint + Read-write endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + failoverWithDataLossGracePeriodMinutes: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersFailoverGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databases: + items: + type: string + type: array + id: + type: string + location: + type: string + name: + type: string + partnerServers: + items: + description: |- + Storage version of v1api20211101.PartnerInfo_STATUS + Partner server information for the failover group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + location: + type: string + replicationRole: + type: string + type: object + type: array + readOnlyEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint_STATUS + Read-only endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + type: object + readWriteEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadWriteEndpoint_STATUS + Read-write endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + failoverWithDataLossGracePeriodMinutes: + type: integer + type: object + replicationRole: + type: string + replicationState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversfirewallrules.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersFirewallRule + listKind: ServersFirewallRuleList + plural: serversfirewallrules + singular: serversfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: |- + EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to + startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: |- + StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all + Azure-internal IP addresses. + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: |- + EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to + startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + startIpAddress: + description: |- + StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all + Azure-internal IP addresses. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersFirewallRule + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversipv6firewallrules.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersIPV6FirewallRule + listKind: ServersIPV6FirewallRuleList + plural: serversipv6firewallrules + singular: serversipv6firewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIPv6Address: + description: |- + EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to + startIpAddress. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIPv6Address: + description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIPv6Address: + description: |- + EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to + startIpAddress. + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + startIPv6Address: + description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersIPV6FirewallRule + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersIPV6FirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIPv6Address: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersIPV6FirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIPv6Address: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersIPV6FirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIPv6Address: + type: string + id: + type: string + name: + type: string + startIPv6Address: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversoutboundfirewallrules.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersOutboundFirewallRule + listKind: ServersOutboundFirewallRuleList + plural: serversoutboundfirewallrules + singular: serversoutboundfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The state of the outbound rule.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersOutboundFirewallRule + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersOutboundFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersOutboundFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersOutboundFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serverssecurityalertpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersSecurityAlertPolicy + listKind: ServersSecurityAlertPolicyList + plural: serverssecurityalertpolicies + singular: serverssecurityalertpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + disabledAlerts: + description: |- + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: + description: |- + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' + type: string + disabledAlerts: + description: |- + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: + description: |- + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. + type: string + systemData: + description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersSecurityAlertPolicy + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersSecurityAlertPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20211101.ServersSecurityAlertPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageEndpoint: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersSecurityAlertPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array + id: + type: string + name: + type: string + retentionDays: + type: integer + state: + type: string + storageEndpoint: + type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversvirtualnetworkrules.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersVirtualNetworkRule + listKind: ServersVirtualNetworkRuleList + plural: serversvirtualnetworkrules + singular: serversvirtualnetworkrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + virtualNetworkSubnetReference: + description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - virtualNetworkSubnetReference + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + name: + description: 'Name: Resource name.' + type: string + state: + description: 'State: Virtual Network Rule State' + type: string + type: + description: 'Type: Resource type.' + type: string + virtualNetworkSubnetId: + description: 'VirtualNetworkSubnetId: The ARM resource id of the virtual network subnet.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersVirtualNetworkRule + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersVirtualNetworkRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + operatorSpec: + description: |- + Storage version of v1api20211101.ServersVirtualNetworkRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + virtualNetworkSubnetReference: + description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - virtualNetworkSubnetReference + type: object + status: + description: Storage version of v1api20211101.ServersVirtualNetworkRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + name: + type: string + state: + type: string + type: + type: string + virtualNetworkSubnetId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: serversvulnerabilityassessments.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersVulnerabilityAssessment + listKind: ServersVulnerabilityAssessmentList + plural: serversvulnerabilityassessments + singular: serversvulnerabilityassessment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. + If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is + not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + type: string + storageContainerPathFromConfig: + description: |- + StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in + 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + Applies only if the storage account is not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersVulnerabilityAssessment + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersVulnerabilityAssessment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersVulnerabilityAssessmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + type: string + storageContainerPathFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersVulnerabilityAssessment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageContainerPath: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: services.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Service + listKind: ServiceList + plural: services + singular: service + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - Consumption + - Developer + - Isolated + - Premium + - Standard + type: string + required: + - capacity + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - sku + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ + type: string + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + enum: + - CertificateAuthority + - Root + type: string + required: + - storeName + type: object + type: array + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + enum: + - BuiltIn + - Custom + - KeyVault + - Managed + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + enum: + - Completed + - Failed + - InProgress + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET + access to the keyVault containing the SSL certificate. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + enum: + - DeveloperPortal + - Management + - Portal + - Proxy + - Scm + type: string + required: + - hostName + - type + type: object + type: array + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: Resource location.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + maxLength: 100 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + maxLength: 100 + type: string + publisherName: + description: 'PublisherName: Publisher name.' + maxLength: 100 + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - Consumption + - Developer + - Isolated + - Premium + - Standard + type: string + required: + - capacity + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + enum: + - External + - Internal + - None + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - publisherEmail + - publisherName + - sku + type: object + status: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' + type: string + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service.' + type: string + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an + Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated + SKU. + items: + type: string + type: array + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. + Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the location. Supported only for Premium SKU being deployed in Virtual Network. + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAtUtc: + description: |- + CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalUrl: + description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + etag: + description: 'Etag: ETag of the resource.' + type: string + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' + type: string + gatewayUrl: + description: 'GatewayUrl: Gateway URL of the API Management service.' + type: string + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + managementApiUrl: + description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service in this location.' + type: string + portalUrl: + description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' + items: + description: Remote Private Endpoint Connection resource. + properties: + groupIds: + description: 'GroupIds: All the Group ids.' + items: + type: string + type: array + id: + description: 'Id: Private Endpoint connection resource id' + type: string + name: + description: 'Name: Private Endpoint Connection Name' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The resource of private end point.' + properties: + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service + consumer and provider. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' + type: string + type: + description: 'Type: Private Endpoint Connection Resource Type' + type: string + type: object + type: array + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is + deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the API Management service which can be one of the following: + Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + type: string + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available + only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + type: string + publisherName: + description: 'PublisherName: Publisher name.' + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + scmUrl: + description: 'ScmUrl: SCM endpoint URL of the API Management service.' + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetProvisioningState: + description: |- + TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running + operation started on the service. + type: string + type: + description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Service + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Service_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20220801.AdditionalLocation + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + location: + type: string + natGatewayState: + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20220801.ApiVersionConstraint + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + certificates: + items: + description: |- + Storage version of v1api20220801.CertificateConfiguration + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + customProperties: + additionalProperties: + type: string + type: object + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + hostnameConfigurations: + items: + description: |- + Storage version of v1api20220801.HostnameConfiguration + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20220801.ApiManagementServiceIdentity + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Service_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20220801.AdditionalLocation_STATUS + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + gatewayRegionalUrl: + type: string + location: + type: string + natGatewayState: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + privateIPAddresses: + items: + type: string + type: array + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20220801.ApiVersionConstraint_STATUS + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + certificates: + items: + description: |- + Storage version of v1api20220801.CertificateConfiguration_STATUS + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAtUtc: + type: string + customProperties: + additionalProperties: + type: string + type: object + developerPortalUrl: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + etag: + type: string + gatewayRegionalUrl: + type: string + gatewayUrl: + type: string + hostnameConfigurations: + items: + description: |- + Storage version of v1api20220801.HostnameConfiguration_STATUS + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20220801.ApiManagementServiceIdentity_STATUS + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220801.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + managementApiUrl: + type: string + name: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + portalUrl: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220801.RemotePrivateEndpointConnectionWrapper_STATUS + Remote Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateEndpoint: + description: |- + Storage version of v1api20220801.ArmIdWrapper_STATUS + A wrapper for an ARM resource id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220801.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: + type: string + type: object + type: array + privateIPAddresses: + items: + type: string + type: array + provisioningState: + type: string + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + scmUrl: + type: string + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20220801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetProvisioningState: + type: string + type: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 + type: string + required: + - capacity + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - sku + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ + type: string + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + enum: + - CertificateAuthority + - Root + type: string + required: + - storeName + type: object + type: array + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + type: object + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' + enum: + - Disabled + - Enabled + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + enum: + - BuiltIn + - Custom + - KeyVault + - Managed + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + enum: + - Completed + - Failed + - InProgress + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET + access to the keyVault containing the SSL certificate. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + enum: + - ConfigurationApi + - DeveloperPortal + - Management + - Portal + - Proxy + - Scm + type: string + required: + - hostName + - type + type: object + type: array + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + enum: + - Disabled + - Enabled + type: string + location: + description: 'Location: Resource location.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + maxLength: 100 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + maxLength: 100 + type: string + publisherName: + description: 'PublisherName: Publisher name.' + maxLength: 100 + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 + type: string + required: + - capacity + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + enum: + - External + - Internal + - None + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - publisherEmail + - publisherName + - sku + type: object + status: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' + type: string + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service.' + type: string + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an + Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated + SKU. + items: + type: string + type: array + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. + Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the location. Supported only for Premium SKU being deployed in Virtual Network. + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + type: string + type: object + createdAtUtc: + description: |- + CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' + type: string + developerPortalUrl: + description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + etag: + description: 'Etag: ETag of the resource.' + type: string + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' + type: string + gatewayUrl: + description: 'GatewayUrl: Gateway URL of the API Management service.' + type: string + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + type: string + location: + description: 'Location: Resource location.' + type: string + managementApiUrl: + description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service in this location.' + type: string + portalUrl: + description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' + items: + description: Remote Private Endpoint Connection resource. + properties: + groupIds: + description: 'GroupIds: All the Group ids.' + items: + type: string + type: array + id: + description: 'Id: Private Endpoint connection resource id' + type: string + name: + description: 'Name: Private Endpoint Connection Name' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The resource of private end point.' + properties: + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service + consumer and provider. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' + type: string + type: + description: 'Type: Private Endpoint Connection Resource Type' + type: string + type: object + type: array + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is + deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the API Management service which can be one of the following: + Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + type: string + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available + only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + type: string + publisherName: + description: 'PublisherName: Publisher name.' + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + scmUrl: + description: 'ScmUrl: SCM endpoint URL of the API Management service.' + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetProvisioningState: + description: |- + TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running + operation started on the service. + type: string + type: + description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Service + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Service_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20230501preview.AdditionalLocation + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + location: + type: string + natGatewayState: + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20230501preview.ApiVersionConstraint + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + certificates: + items: + description: |- + Storage version of v1api20230501preview.CertificateConfiguration + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + configurationApi: + description: |- + Storage version of v1api20230501preview.ConfigurationApi + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + hostnameConfigurations: + items: + description: |- + Storage version of v1api20230501preview.HostnameConfiguration + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceIdentity + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230501preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + legacyPortalStatus: + type: string + location: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Service_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20230501preview.AdditionalLocation_STATUS + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + gatewayRegionalUrl: + type: string + location: + type: string + natGatewayState: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + privateIPAddresses: + items: + type: string + type: array + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20230501preview.ApiVersionConstraint_STATUS + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + certificates: + items: + description: |- + Storage version of v1api20230501preview.CertificateConfiguration_STATUS + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationApi: + description: |- + Storage version of v1api20230501preview.ConfigurationApi_STATUS + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + createdAtUtc: + type: string + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: + type: string + developerPortalUrl: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + etag: + type: string + gatewayRegionalUrl: + type: string + gatewayUrl: + type: string + hostnameConfigurations: + items: + description: |- + Storage version of v1api20230501preview.HostnameConfiguration_STATUS + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceIdentity_STATUS + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230501preview.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + legacyPortalStatus: + type: string + location: + type: string + managementApiUrl: + type: string + name: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + portalUrl: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230501preview.RemotePrivateEndpointConnectionWrapper_STATUS + Remote Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateEndpoint: + description: |- + Storage version of v1api20230501preview.ArmIdWrapper_STATUS + A wrapper for an ARM resource id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20230501preview.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: + type: string + type: object + type: array + privateIPAddresses: + items: + type: string + type: array + provisioningState: + type: string + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + scmUrl: + type: string + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230501preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetProvisioningState: + type: string + type: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 + type: string + required: + - capacity + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - sku + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ + type: string + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + enum: + - CertificateAuthority + - Root + type: string + required: + - storeName + type: object + type: array + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + type: object + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' + enum: + - Disabled + - Enabled + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + enum: + - BuiltIn + - Custom + - KeyVault + - Managed + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + enum: + - Completed + - Failed + - InProgress + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET + access to the keyVault containing the SSL certificate. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + enum: + - ConfigurationApi + - DeveloperPortal + - Management + - Portal + - Proxy + - Scm + type: string + required: + - hostName + - type + type: object + type: array + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + enum: + - Disabled + - Enabled + type: string + location: + description: 'Location: Resource location.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + maxLength: 100 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + maxLength: 100 + type: string + publisherName: + description: 'PublisherName: Publisher name.' + maxLength: 100 + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 + type: string + required: + - capacity + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + enum: + - External + - Internal + - None + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - publisherEmail + - publisherName + - sku + type: object + status: + properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' + type: string + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service.' + type: string + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an + Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated + SKU. + items: + type: string + type: array + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. + Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the location. Supported only for Premium SKU being deployed in Virtual Network. + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + type: string + type: object + createdAtUtc: + description: |- + CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' + type: string + developerPortalUrl: + description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + etag: + description: 'Etag: ETag of the resource.' + type: string + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' + type: string + gatewayUrl: + description: 'GatewayUrl: Gateway URL of the API Management service.' + type: string + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + type: string + location: + description: 'Location: Resource location.' + type: string + managementApiUrl: + description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service in this location.' + type: string + portalUrl: + description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' + items: + description: Remote Private Endpoint Connection resource. + properties: + groupIds: + description: 'GroupIds: All the Group ids.' + items: + type: string + type: array + id: + description: 'Id: Private Endpoint connection resource id' + type: string + name: + description: 'Name: Private Endpoint Connection Name' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The resource of private end point.' + properties: + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service + consumer and provider. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' + type: string + type: + description: 'Type: Private Endpoint Connection Resource Type' + type: string + type: object + type: array + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is + deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the API Management service which can be one of the following: + Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + type: string + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available + only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + type: string + publisherName: + description: 'PublisherName: Publisher name.' + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + scmUrl: + description: 'ScmUrl: SCM endpoint URL of the API Management service.' + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetProvisioningState: + description: |- + TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running + operation started on the service. + type: string + type: + description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Service + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Service_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20240501.AdditionalLocation + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + location: + type: string + natGatewayState: + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: |- + Storage version of v1api20240501.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240501.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20240501.ApiVersionConstraint + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + certificates: + items: + description: |- + Storage version of v1api20240501.CertificateConfiguration + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20240501.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + configurationApi: + description: |- + Storage version of v1api20240501.ConfigurationApi + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + hostnameConfigurations: + items: + description: |- + Storage version of v1api20240501.HostnameConfiguration + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20240501.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20240501.ApiManagementServiceIdentity + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + legacyPortalStatus: + type: string + location: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.ServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + sku: + description: |- + Storage version of v1api20240501.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240501.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Service_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20240501.AdditionalLocation_STATUS + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + gatewayRegionalUrl: + type: string + location: + type: string + natGatewayState: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + privateIPAddresses: + items: + type: string + type: array + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + sku: + description: |- + Storage version of v1api20240501.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240501.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20240501.ApiVersionConstraint_STATUS + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + certificates: + items: + description: |- + Storage version of v1api20240501.CertificateConfiguration_STATUS + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20240501.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configurationApi: + description: |- + Storage version of v1api20240501.ConfigurationApi_STATUS + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + createdAtUtc: + type: string + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: + type: string + developerPortalUrl: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + etag: + type: string + gatewayRegionalUrl: + type: string + gatewayUrl: + type: string + hostnameConfigurations: + items: + description: |- + Storage version of v1api20240501.HostnameConfiguration_STATUS + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20240501.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240501.ApiManagementServiceIdentity_STATUS + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240501.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + legacyPortalStatus: + type: string + location: + type: string + managementApiUrl: + type: string + name: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + portalUrl: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240501.RemotePrivateEndpointConnectionWrapper_STATUS + Remote Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateEndpoint: + description: |- + Storage version of v1api20240501.ArmIdWrapper_STATUS + A wrapper for an ARM resource id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240501.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: + type: string + type: object + type: array + privateIPAddresses: + items: + type: string + type: array + provisioningState: + type: string + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + scmUrl: + type: string + sku: + description: |- + Storage version of v1api20240501.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetProvisioningState: + type: string + type: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240501.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: signalrs.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: SignalR + listKind: SignalRList + plural: signalrs + singular: signalr + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2021-10-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + enum: + - EnableConnectivityLogs + - EnableLiveTrace + - EnableMessagingLogs + - ServiceMode + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + maxLength: 128 + minLength: 1 + type: string + required: + - flag + - value + type: object + type: array + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Get or set the user assigned identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' + enum: + - RawWebSockets + - SignalR + type: string + location: + description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + required: + - name + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. 1 by default. + If present, following values are allowed: + Free: 1 + Standard: 1,2,5,10,20,50,100 + type: integer + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1 + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' + type: boolean + type: object + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + enum: + - ManagedIdentity + - None + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages" + 3. The single category name, for example, "connections", it matches the category "connections" + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" + 3. The single event name, for example, "connect", it matches "connect" + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" + 3. The single hub name, for example, "hub1", it matches "hub1" + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + required: + - urlTemplate + type: object + type: array + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + externalIP: + description: 'ExternalIP: The publicly accessible IP of the resource.' + type: string + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + type: string + type: object + type: array + hostName: + description: 'HostName: FQDN of the service instance.' + type: string + hostNamePrefix: + description: 'HostNamePrefix: Deprecated.' + type: string + id: + description: 'Id: Fully qualified resource Id for the resource.' + type: string + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + principalId: + description: |- + PrincipalId: Get the principal id for the system assigned identity. + Only be used in response. + type: string + tenantId: + description: |- + TenantId: Get the tenant id for the system assigned identity. + Only be used in response + type: string + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + type: string + userAssignedIdentities: + additionalProperties: + description: Properties of user assigned identity. + properties: + clientId: + description: 'ClientId: Get the client id for the user assigned identity' + type: string + principalId: + description: 'PrincipalId: Get the principal id for the user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Get or set the user assigned identities' + type: object + type: object + kind: + description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' + type: string + location: + description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' + type: string + name: + description: 'Name: The name of the resource.' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + type: string + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections to the resource.' + items: + description: A private endpoint connection to an azure resource + properties: + id: + description: 'Id: Fully qualified resource Id for the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + publicPort: + description: 'PublicPort: The publicly accessible port of the resource which is designed for browser/client side usage.' + type: integer + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + serverPort: + description: 'ServerPort: The publicly accessible port of the resource which is designed for customer server side usage.' + type: integer + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources.' + items: + description: Describes a Shared Private Link Resource + properties: + id: + description: 'Id: Fully qualified resource Id for the resource.' + type: string + type: object + type: array + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. 1 by default. + If present, following values are allowed: + Free: 1 + Standard: 1,2,5,10,20,50,100 + type: integer + family: + description: 'Family: Not used. Retained for future use.' + type: string + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1 + type: string + size: + description: 'Size: Not used. Retained for future use.' + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' + type: boolean + type: object + type: + description: 'Type: The type of the resource - e.g. "Microsoft.SignalRService/SignalR"' + type: string + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages" + 3. The single category name, for example, "connections", it matches the category "connections" + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" + 3. The single event name, for example, "connect", it matches "connect" + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" + 3. The single hub name, for example, "hub1", it matches "hub1" + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + type: object + type: array + type: object + version: + description: 'Version: Version of the resource. Probably you need the same or higher version of client SDKs.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211001.SignalR + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2021-10-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211001.SignalR_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cors: + description: |- + Storage version of v1api20211001.SignalRCorsSettings + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + features: + items: + description: |- + Storage version of v1api20211001.SignalRFeature + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20211001.ManagedIdentity + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + networkACLs: + description: |- + Storage version of v1api20211001.SignalRNetworkACLs + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20211001.PrivateEndpointACL + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20211001.NetworkACL + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20211001.SignalROperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211001.SignalROperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20211001.ResourceLogConfiguration + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20211001.ResourceLogCategory + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + sku: + description: |- + Storage version of v1api20211001.ResourceSku + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tls: + description: |- + Storage version of v1api20211001.SignalRTlsSettings + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + upstream: + description: |- + Storage version of v1api20211001.ServerlessUpstreamSettings + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20211001.UpstreamTemplate + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20211001.UpstreamAuthSettings + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20211001.ManagedIdentitySettings + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211001.SignalR_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20211001.SignalRCorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + externalIP: + type: string + features: + items: + description: |- + Storage version of v1api20211001.SignalRFeature_STATUS + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + hostName: + type: string + hostNamePrefix: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20211001.ManagedIdentity_STATUS + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211001.UserAssignedIdentityProperty_STATUS + Properties of user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + name: + type: string + networkACLs: + description: |- + Storage version of v1api20211001.SignalRNetworkACLs_STATUS + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20211001.PrivateEndpointACL_STATUS + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20211001.NetworkACL_STATUS + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20211001.PrivateEndpointConnection_STATUS_SignalR_SubResourceEmbedded + A private endpoint connection to an azure resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + publicPort: + type: integer + resourceLogConfiguration: + description: |- + Storage version of v1api20211001.ResourceLogConfiguration_STATUS + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20211001.ResourceLogCategory_STATUS + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + serverPort: + type: integer + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20211001.SharedPrivateLinkResource_STATUS_SignalR_SubResourceEmbedded + Describes a Shared Private Link Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20211001.ResourceSku_STATUS + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20211001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tls: + description: |- + Storage version of v1api20211001.SignalRTlsSettings_STATUS + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + type: + type: string + upstream: + description: |- + Storage version of v1api20211001.ServerlessUpstreamSettings_STATUS + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20211001.UpstreamTemplate_STATUS + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20211001.UpstreamAuthSettings_STATUS + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20211001.ManagedIdentitySettings_STATUS + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array + type: object + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ + type: string + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + enum: + - EnableConnectivityLogs + - EnableLiveTrace + - EnableMessagingLogs + - ServiceMode + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + maxLength: 128 + minLength: 1 + type: string + required: + - flag + - value + type: object + type: array + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Get or set the user assigned identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The kind of the service' + enum: + - RawWebSockets + - SignalR + type: string + liveTraceConfiguration: + description: 'LiveTraceConfiguration: Live trace configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Live trace category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the live trace category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the live trace category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether or not enable live trace. + When it's set to true, live trace client can connect to the service. + Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you + configure in "categories". + Available values: true, false. + Case insensitive. + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: IP rules for filtering public traffic' + items: + description: An IP rule + properties: + action: + description: 'Action: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + value: + description: 'Value: An IP or CIDR or ServiceTag' + type: string + type: object + maxItems: 30 + type: array + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + required: + - name + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + This property is replica specific. Disable the regional endpoint without replica is not allowed. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "False". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + serverless: + description: 'Serverless: Serverless settings.' + properties: + connectionTimeoutInSeconds: + description: |- + ConnectionTimeoutInSeconds: Gets or sets Client Connection Timeout. Optional to be set. + Value in seconds. + Default value is 30 seconds. + Customer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals, + and want the client to disconnect more quickly after the last message is sent. + You can set the timeout to a longer period if messages are expected to be sent in longer intervals, + and they want to keep the same client connection alive during this session. + The service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval. + maximum: 120 + minimum: 1 + type: integer + type: object + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: |- + ClientCertEnabled: Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input + will be ignored for free tier. + type: boolean + type: object + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + enum: + - ManagedIdentity + - None + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name. + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages". + 3. The single category name, for example, "connections", it matches the category "connections". + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name. + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect". + 3. The single event name, for example, "connect", it matches "connect". + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name. + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2". + 3. The single hub name, for example, "hub1", it matches "hub1". + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + required: + - urlTemplate + type: object + type: array + type: object + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + externalIP: + description: 'ExternalIP: The publicly accessible IP of the resource.' + type: string + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + type: string + type: object + type: array + hostName: + description: 'HostName: FQDN of the service instance.' + type: string + hostNamePrefix: + description: 'HostNamePrefix: Deprecated.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + principalId: + description: |- + PrincipalId: Get the principal id for the system assigned identity. + Only be used in response. + type: string + tenantId: + description: |- + TenantId: Get the tenant id for the system assigned identity. + Only be used in response + type: string + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + type: string + userAssignedIdentities: + additionalProperties: + description: Properties of user assigned identity. + properties: + clientId: + description: 'ClientId: Get the client id for the user assigned identity' + type: string + principalId: + description: 'PrincipalId: Get the principal id for the user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Get or set the user assigned identities' + type: object + type: object + kind: + description: 'Kind: The kind of the service' + type: string + liveTraceConfiguration: + description: 'LiveTraceConfiguration: Live trace configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Live trace category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the live trace category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the live trace category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether or not enable live trace. + When it's set to true, live trace client can connect to the service. + Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you + configure in "categories". + Available values: true, false. + Case insensitive. + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + type: string + ipRules: + description: 'IpRules: IP rules for filtering public traffic' + items: + description: An IP rule + properties: + action: + description: 'Action: Azure Networking ACL Action.' + type: string + value: + description: 'Value: An IP or CIDR or ServiceTag' + type: string + type: object + type: array + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections to the resource.' + items: + description: A private endpoint connection to an azure resource + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + publicPort: + description: 'PublicPort: The publicly accessible port of the resource which is designed for browser/client side usage.' + type: integer + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + This property is replica specific. Disable the regional endpoint without replica is not allowed. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "False". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + serverPort: + description: 'ServerPort: The publicly accessible port of the resource which is designed for customer server side usage.' + type: integer + serverless: + description: 'Serverless: Serverless settings.' + properties: + connectionTimeoutInSeconds: + description: |- + ConnectionTimeoutInSeconds: Gets or sets Client Connection Timeout. Optional to be set. + Value in seconds. + Default value is 30 seconds. + Customer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals, + and want the client to disconnect more quickly after the last message is sent. + You can set the timeout to a longer period if messages are expected to be sent in longer intervals, + and they want to keep the same client connection alive during this session. + The service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval. + type: integer + type: object + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources.' + items: + description: Describes a Shared Private Link Resource + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + family: + description: 'Family: Not used. Retained for future use.' + type: string + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + size: + description: 'Size: Not used. Retained for future use.' + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: |- + ClientCertEnabled: Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input + will be ignored for free tier. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name. + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages". + 3. The single category name, for example, "connections", it matches the category "connections". + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name. + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect". + 3. The single event name, for example, "connect", it matches "connect". + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name. + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2". + 3. The single hub name, for example, "hub1", it matches "hub1". + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + type: object + type: array + type: object + version: + description: 'Version: Version of the resource. Probably you need the same or higher version of client SDKs.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.SignalR + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.SignalR_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cors: + description: |- + Storage version of v1api20240301.SignalRCorsSettings + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + features: + items: + description: |- + Storage version of v1api20240301.SignalRFeature + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20240301.ManagedIdentity + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + liveTraceConfiguration: + description: |- + Storage version of v1api20240301.LiveTraceConfiguration + Live trace configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.LiveTraceCategory + Live trace category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + enabled: + type: string + type: object + location: + type: string + networkACLs: + description: |- + Storage version of v1api20240301.SignalRNetworkACLs + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20240301.IPRule + An IP rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + privateEndpoints: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointACL + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20240301.NetworkACL + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.SignalROperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240301.SignalROperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + regionEndpointEnabled: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20240301.ResourceLogConfiguration + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.ResourceLogCategory + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + resourceStopped: + type: string + serverless: + description: |- + Storage version of v1api20240301.ServerlessSettings + Serverless settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionTimeoutInSeconds: + type: integer + type: object + sku: + description: |- + Storage version of v1api20240301.ResourceSku + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tls: + description: |- + Storage version of v1api20240301.SignalRTlsSettings + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + upstream: + description: |- + Storage version of v1api20240301.ServerlessUpstreamSettings + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20240301.UpstreamTemplate + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20240301.UpstreamAuthSettings + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20240301.ManagedIdentitySettings + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.SignalR_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20240301.SignalRCorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + externalIP: + type: string + features: + items: + description: |- + Storage version of v1api20240301.SignalRFeature_STATUS + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + hostName: + type: string + hostNamePrefix: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedIdentity_STATUS + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentityProperty_STATUS + Properties of user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + liveTraceConfiguration: + description: |- + Storage version of v1api20240301.LiveTraceConfiguration_STATUS + Live trace configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.LiveTraceCategory_STATUS + Live trace category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + enabled: + type: string + type: object + location: + type: string + name: + type: string + networkACLs: + description: |- + Storage version of v1api20240301.SignalRNetworkACLs_STATUS + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20240301.IPRule_STATUS + An IP rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + privateEndpoints: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointACL_STATUS + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20240301.NetworkACL_STATUS + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointConnection_STATUS_SignalR_SubResourceEmbedded + A private endpoint connection to an azure resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + publicPort: + type: integer + regionEndpointEnabled: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20240301.ResourceLogConfiguration_STATUS + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.ResourceLogCategory_STATUS + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + resourceStopped: + type: string + serverPort: + type: integer + serverless: + description: |- + Storage version of v1api20240301.ServerlessSettings_STATUS + Serverless settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionTimeoutInSeconds: + type: integer + type: object + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20240301.SharedPrivateLinkResource_STATUS_SignalR_SubResourceEmbedded + Describes a Shared Private Link Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240301.ResourceSku_STATUS + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tls: + description: |- + Storage version of v1api20240301.SignalRTlsSettings_STATUS + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + type: + type: string + upstream: + description: |- + Storage version of v1api20240301.ServerlessUpstreamSettings_STATUS + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20240301.UpstreamTemplate_STATUS + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20240301.UpstreamAuthSettings_STATUS + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20240301.ManagedIdentitySettings_STATUS + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array + type: object + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sites.web.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: web.azure.com + names: + categories: + - azure + - web + kind: Site + listKind: SiteList + plural: sites + singular: site + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffinityEnabled: + description: |- + ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity + cookies, which route client requests in the same session to the same instance. Default is true. + type: boolean + clientCertEnabled: + description: |- + ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, + false. Default is false. + type: boolean + clientCertExclusionPaths: + description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' + type: string + clientCertMode: + description: |- + ClientCertMode: This composes with ClientCertEnabled setting. + - ClientCertEnabled: false means ClientCert is ignored. + - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. + - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. + enum: + - Optional + - OptionalInteractiveUser + - Required + type: string + cloningInfo: + description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + properties: + appSettingsOverrides: + additionalProperties: + type: string + description: |- + AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings + cloned + from source app. Otherwise, application settings from source app are retained. + type: object + cloneCustomHostNames: + description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' + type: boolean + cloneSourceControl: + description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' + type: boolean + configureLoadBalancing: + description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' + type: boolean + correlationId: + description: |- + CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations + together to use the same snapshot. + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + hostingEnvironment: + description: 'HostingEnvironment: App Service Environment.' + type: string + overwrite: + description: 'Overwrite: true to overwrite destination app; otherwise, false.' + type: boolean + sourceWebAppLocation: + description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' + type: string + sourceWebAppReference: + description: |- + SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + trafficManagerProfileName: + description: |- + TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile + does not already exist. + type: string + trafficManagerProfileReference: + description: |- + TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceWebAppReference + type: object + containerSize: + description: 'ContainerSize: Size of the function container.' + type: integer + customDomainVerificationId: + description: |- + CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add + this id to a txt record for verification. + type: string + dailyMemoryTimeQuota: + description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' + type: integer + enabled: + description: |- + Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables + the app (takes the app offline). + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: object + hostNameSslStates: + description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' + items: + description: SSL-enabled hostname. + properties: + hostType: + description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' + enum: + - Repository + - Standard + type: string + name: + description: 'Name: Hostname.' + type: string + sslState: + description: 'SslState: SSL type.' + enum: + - Disabled + - IpBasedEnabled + - SniEnabled + type: string + thumbprint: + description: 'Thumbprint: SSL certificate thumbprint.' + type: string + toUpdate: + description: 'ToUpdate: Set to true to update existing hostname.' + type: boolean + virtualIP: + description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' + type: string + type: object + type: array + hostNamesDisabled: + description: |- + HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. + If true, the app is only accessible via API management process. + type: boolean + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' + properties: + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpsOnly: + description: |- + HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for + http requests + type: boolean + hyperV: + description: 'HyperV: Hyper-V sandbox.' + type: boolean + identity: + description: 'Identity: Managed service identity.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isXenon: + description: 'IsXenon: Obsolete: Hyper-V sandbox.' + type: boolean + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + kind: + description: 'Kind: Kind of resource.' + type: string + location: + description: 'Location: Resource Location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty + string. + type: string + redundancyMode: + description: 'RedundancyMode: Site redundancy mode' + enum: + - ActiveActive + - Failover + - GeoRedundant + - Manual + - None + type: string + reserved: + description: 'Reserved: true if reserved; otherwise, false.' + type: boolean + scmSiteAlsoStopped: + description: |- + ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. + The default is false. + type: boolean + serverFarmReference: + description: |- + ServerFarmReference: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + siteConfig: + description: 'SiteConfig: Configuration of the app.' + properties: + acrUseManagedIdentityCreds: + description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' + type: boolean + acrUserManagedIdentityID: + description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' + type: string + alwaysOn: + description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' + type: boolean + apiDefinition: + description: 'ApiDefinition: Information about the formal API definition for the app.' + properties: + url: + description: 'Url: The URL of the API definition.' + type: string + type: object + apiManagementConfig: + description: 'ApiManagementConfig: Azure API management settings linked to the app.' + properties: + reference: + description: 'Reference: APIM-Api Identifier.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + appCommandLine: + description: 'AppCommandLine: App command line to launch.' + type: string + appSettings: + description: 'AppSettings: Application settings.' + items: + description: Name value pair. + properties: + name: + description: 'Name: Pair name.' + type: string + value: + description: 'Value: Pair value.' + type: string + type: object + type: array + autoHealEnabled: + description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' + type: boolean + autoHealRules: + description: 'AutoHealRules: Auto Heal rules.' + properties: + actions: + description: 'Actions: Actions to be executed when a rule is triggered.' + properties: + actionType: + description: 'ActionType: Predefined action to be taken.' + enum: + - CustomAction + - LogEvent + - Recycle + type: string + customAction: + description: 'CustomAction: Custom action to be taken.' + properties: + exe: + description: 'Exe: Executable to be run.' + type: string + parameters: + description: 'Parameters: Parameters for the executable.' + type: string + type: object + minProcessExecutionTime: + description: |- + MinProcessExecutionTime: Minimum time the process must execute + before taking the action + type: string + type: object + triggers: + description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' + properties: + privateBytesInKB: + description: 'PrivateBytesInKB: A rule based on private bytes.' + type: integer + requests: + description: 'Requests: A rule based on total requests.' + properties: + count: + description: 'Count: Request Count.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + slowRequests: + description: 'SlowRequests: A rule based on request execution time.' + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + slowRequestsWithPath: + description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' + items: + description: Trigger based on request execution time. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + type: array + statusCodes: + description: 'StatusCodes: A rule based on status codes.' + items: + description: Trigger based on status code. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path' + type: string + status: + description: 'Status: HTTP status code.' + type: integer + subStatus: + description: 'SubStatus: Request Sub Status.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + win32Status: + description: 'Win32Status: Win32 error code.' + type: integer + type: object + type: array + statusCodesRange: + description: 'StatusCodesRange: A rule based on status codes ranges.' + items: + description: Trigger based on range of status codes. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + type: string + statusCodes: + description: 'StatusCodes: HTTP status code.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + description: 'AutoSwapSlotName: Auto-swap slot name.' + type: string + azureStorageAccounts: + additionalProperties: + description: Azure Files or Blob Storage access information value for dictionary storage. + properties: + accessKey: + description: 'AccessKey: Access key for the storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + accountName: + description: 'AccountName: Name of the storage account.' + type: string + mountPath: + description: 'MountPath: Path to mount the storage within the site''s runtime environment.' + type: string + shareName: + description: 'ShareName: Name of the file share (container name, for Blob storage).' + type: string + type: + description: 'Type: Type of storage.' + enum: + - AzureBlob + - AzureFiles + type: string + type: object + description: 'AzureStorageAccounts: List of Azure Storage Accounts.' + type: object + connectionStrings: + description: 'ConnectionStrings: Connection strings.' + items: + description: Database connection string information. + properties: + connectionString: + description: 'ConnectionString: Connection string value.' + type: string + name: + description: 'Name: Name of connection string.' + type: string + type: + description: 'Type: Type of database.' + enum: + - ApiHub + - Custom + - DocDb + - EventHub + - MySql + - NotificationHub + - PostgreSQL + - RedisCache + - SQLAzure + - SQLServer + - ServiceBus + type: string + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + items: + type: string + type: array + supportCredentials: + description: |- + SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + type: boolean + type: object + defaultDocuments: + description: 'DefaultDocuments: Default documents.' + items: + type: string + type: array + detailedErrorLoggingEnabled: + description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' + type: boolean + documentRoot: + description: 'DocumentRoot: Document root.' + type: string + experiments: + description: 'Experiments: This is work around for polymorphic types.' + properties: + rampUpRules: + description: 'RampUpRules: List of ramp-up rules.' + items: + description: |- + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + actionHostName: + description: |- + ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. + myapp-stage.azurewebsites.net. + type: string + changeDecisionCallbackUrl: + description: |- + ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be + specified. + type: string + changeIntervalInMinutes: + description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' + type: integer + changeStep: + description: |- + ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches + \nMinReroutePercentage or + MaxReroutePercentage. Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes.\nCustom decision algorithm + can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. + type: number + maxReroutePercentage: + description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' + type: number + minReroutePercentage: + description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' + type: number + name: + description: |- + Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the + experiment. + type: string + reroutePercentage: + description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' + type: number + type: object + type: array + type: object + ftpsState: + description: 'FtpsState: State of FTP / FTPS service' + enum: + - AllAllowed + - Disabled + - FtpsOnly + type: string + functionAppScaleLimit: + description: |- + FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. + This setting only applies to the Consumption and Elastic Premium Plans + minimum: 0 + type: integer + functionsRuntimeScaleMonitoringEnabled: + description: |- + FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is + enabled. When enabled, + the ScaleController will not monitor event sources directly, but will instead call to the + runtime to get scale status. + type: boolean + handlerMappings: + description: 'HandlerMappings: Handler mappings.' + items: + description: |- + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. + properties: + arguments: + description: 'Arguments: Command-line arguments to be passed to the script processor.' + type: string + extension: + description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' + type: string + scriptProcessor: + description: 'ScriptProcessor: The absolute path to the FastCGI application.' + type: string + type: object + type: array + healthCheckPath: + description: 'HealthCheckPath: Health check path' + type: string + http20Enabled: + description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' + type: boolean + httpLoggingEnabled: + description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: IP security restrictions for main.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array + description: |- + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + type: string + name: + description: 'Name: IP restriction rule name.' + type: string + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + enum: + - Default + - ServiceTag + - XffProxy + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer + type: object + type: array + javaContainer: + description: 'JavaContainer: Java container.' + type: string + javaContainerVersion: + description: 'JavaContainerVersion: Java container version.' + type: string + javaVersion: + description: 'JavaVersion: Java version.' + type: string + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + limits: + description: 'Limits: Site limits.' + properties: + maxDiskSizeInMb: + description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' + type: integer + maxMemoryInMb: + description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' + type: integer + maxPercentageCpu: + description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' + type: number + type: object + linuxFxVersion: + description: 'LinuxFxVersion: Linux App Framework and version' + type: string + loadBalancing: + description: 'LoadBalancing: Site load balancing.' + enum: + - LeastRequests + - LeastResponseTime + - PerSiteRoundRobin + - RequestHash + - WeightedRoundRobin + - WeightedTotalTraffic + type: string + localMySqlEnabled: + description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' + type: boolean + logsDirectorySizeLimit: + description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' + type: integer + managedPipelineMode: + description: 'ManagedPipelineMode: Managed pipeline mode.' + enum: + - Classic + - Integrated + type: string + managedServiceIdentityId: + description: 'ManagedServiceIdentityId: Managed Service Identity Id' + type: integer + minTlsVersion: + description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + minimumElasticInstanceCount: + description: |- + MinimumElasticInstanceCount: Number of minimum instance count for a site + This setting only applies to the Elastic Plans + maximum: 20 + minimum: 0 + type: integer + netFrameworkVersion: + description: 'NetFrameworkVersion: .NET Framework version.' + type: string + nodeVersion: + description: 'NodeVersion: Version of Node.js.' + type: string + numberOfWorkers: + description: 'NumberOfWorkers: Number of workers.' + type: integer + phpVersion: + description: 'PhpVersion: Version of PHP.' + type: string + powerShellVersion: + description: 'PowerShellVersion: Version of PowerShell.' + type: string + preWarmedInstanceCount: + description: |- + PreWarmedInstanceCount: Number of preWarmed instances. + This setting only applies to the Consumption and Elastic Plans + maximum: 10 + minimum: 0 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: Property to allow or block all public traffic.' + type: string + publishingUsername: + description: 'PublishingUsername: Publishing user name.' + type: string + push: + description: 'Push: Push endpoint settings.' + properties: + dynamicTagsJson: + description: |- + DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in + the push registration endpoint. + type: string + isPushEnabled: + description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + tagWhitelistJson: + description: |- + TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push + registration endpoint. + type: string + tagsRequiringAuth: + description: |- + TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in + the push registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + type: string + required: + - isPushEnabled + type: object + pythonVersion: + description: 'PythonVersion: Version of Python.' + type: string + remoteDebuggingEnabled: + description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' + type: boolean + remoteDebuggingVersion: + description: 'RemoteDebuggingVersion: Remote debugging version.' + type: string + requestTracingEnabled: + description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' + type: boolean + requestTracingExpirationTime: + description: 'RequestTracingExpirationTime: Request tracing expiration time.' + type: string + scmIpSecurityRestrictions: + description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array + description: |- + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + type: string + name: + description: 'Name: IP restriction rule name.' + type: string + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + enum: + - Default + - ServiceTag + - XffProxy + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer + type: object + type: array + scmIpSecurityRestrictionsUseMain: + description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' + type: boolean + scmMinTlsVersion: + description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + scmType: + description: 'ScmType: SCM type.' + enum: + - BitbucketGit + - BitbucketHg + - CodePlexGit + - CodePlexHg + - Dropbox + - ExternalGit + - ExternalHg + - GitHub + - LocalGit + - None + - OneDrive + - Tfs + - VSO + - VSTSRM + type: string + tracingOptions: + description: 'TracingOptions: Tracing options.' + type: string + use32BitWorkerProcess: + description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' + type: boolean + virtualApplications: + description: 'VirtualApplications: Virtual applications.' + items: + description: Virtual application in an app. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + preloadEnabled: + description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' + type: boolean + virtualDirectories: + description: 'VirtualDirectories: Virtual directories for virtual application.' + items: + description: Directory for virtual application. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + virtualPath: + description: 'VirtualPath: Path to virtual application.' + type: string + type: object + type: array + virtualPath: + description: 'VirtualPath: Virtual path.' + type: string + type: object + type: array + vnetName: + description: 'VnetName: Virtual Network name.' + type: string + vnetPrivatePortsCount: + description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' + type: integer + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean + webSocketsEnabled: + description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' + type: boolean + websiteTimeZone: + description: |- + WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App + Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database + values https://www.iana.org/time-zones (for a quick reference see + https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under + HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones + type: string + windowsFxVersion: + description: 'WindowsFxVersion: Xenon App Framework and version' + type: string + xManagedServiceIdentityId: + description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' + type: integer + type: object + storageAccountRequired: + description: 'StorageAccountRequired: Checks if Customer provided storage account is required' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetworkSubnetReference: + description: |- + VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetContentShareEnabled: + description: 'VnetContentShareEnabled: To enable accessing content over virtual network' + type: boolean + vnetImagePullEnabled: + description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' + type: boolean + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean + required: + - location + - owner + type: object + status: + description: A web app, a mobile app backend, or an API app. + properties: + availabilityState: + description: 'AvailabilityState: Management information availability state for the app.' + type: string + clientAffinityEnabled: + description: |- + ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity + cookies, which route client requests in the same session to the same instance. Default is true. + type: boolean + clientCertEnabled: + description: |- + ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, + false. Default is false. + type: boolean + clientCertExclusionPaths: + description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' + type: string + clientCertMode: + description: |- + ClientCertMode: This composes with ClientCertEnabled setting. + - ClientCertEnabled: false means ClientCert is ignored. + - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. + - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. + type: string + cloningInfo: + description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + properties: + appSettingsOverrides: + additionalProperties: + type: string + description: |- + AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings + cloned + from source app. Otherwise, application settings from source app are retained. + type: object + cloneCustomHostNames: + description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' + type: boolean + cloneSourceControl: + description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' + type: boolean + configureLoadBalancing: + description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' + type: boolean + correlationId: + description: |- + CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations + together to use the same snapshot. + type: string + hostingEnvironment: + description: 'HostingEnvironment: App Service Environment.' + type: string + overwrite: + description: 'Overwrite: true to overwrite destination app; otherwise, false.' + type: boolean + sourceWebAppId: + description: |- + SourceWebAppId: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. + type: string + sourceWebAppLocation: + description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' + type: string + trafficManagerProfileId: + description: |- + TrafficManagerProfileId: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource + ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + type: string + trafficManagerProfileName: + description: |- + TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile + does not already exist. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerSize: + description: 'ContainerSize: Size of the function container.' + type: integer + customDomainVerificationId: + description: |- + CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add + this id to a txt record for verification. + type: string + dailyMemoryTimeQuota: + description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' + type: integer + defaultHostName: + description: 'DefaultHostName: Default hostname of the app. Read-only.' + type: string + enabled: + description: |- + Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables + the app (takes the app offline). + type: boolean + enabledHostNames: + description: |- + EnabledHostNames: Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + items: + type: string + type: array + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: + description: 'Type: Type of extended location.' + type: string + type: object + hostNameSslStates: + description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' + items: + description: SSL-enabled hostname. + properties: + hostType: + description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' + type: string + name: + description: 'Name: Hostname.' + type: string + sslState: + description: 'SslState: SSL type.' + type: string + thumbprint: + description: 'Thumbprint: SSL certificate thumbprint.' + type: string + toUpdate: + description: 'ToUpdate: Set to true to update existing hostname.' + type: boolean + virtualIP: + description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' + type: string + type: object + type: array + hostNames: + description: 'HostNames: Hostnames associated with the app.' + items: + type: string + type: array + hostNamesDisabled: + description: |- + HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. + If true, the app is only accessible via API management process. + type: boolean + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' + properties: + id: + description: 'Id: Resource ID of the App Service Environment.' + type: string + name: + description: 'Name: Name of the App Service Environment.' + type: string + type: + description: 'Type: Resource type of the App Service Environment.' + type: string + type: object + httpsOnly: + description: |- + HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for + http requests + type: boolean + hyperV: + description: 'HyperV: Hyper-V sandbox.' + type: boolean + id: + description: 'Id: Resource Id.' + type: string + identity: + description: 'Identity: Managed service identity.' + properties: + principalId: + description: 'PrincipalId: Principal Id of managed service identity.' + type: string + tenantId: + description: 'TenantId: Tenant of managed service identity.' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: User Assigned identity. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + type: object + type: object + inProgressOperationId: + description: 'InProgressOperationId: Specifies an operation id if this site has a pending operation.' + type: string + isDefaultContainer: + description: 'IsDefaultContainer: true if the app is a default container; otherwise, false.' + type: boolean + isXenon: + description: 'IsXenon: Obsolete: Hyper-V sandbox.' + type: boolean + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + kind: + description: 'Kind: Kind of resource.' + type: string + lastModifiedTimeUtc: + description: 'LastModifiedTimeUtc: Last time the app was modified, in UTC. Read-only.' + type: string + location: + description: 'Location: Resource Location.' + type: string + maxNumberOfWorkers: + description: |- + MaxNumberOfWorkers: Maximum number of workers. + This only applies to Functions container. + type: integer + name: + description: 'Name: Resource Name.' + type: string + outboundIpAddresses: + description: |- + OutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). Includes + VIPs from tenants that site can be hosted with current settings. Read-only. + type: string + possibleOutboundIpAddresses: + description: |- + PossibleOutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). + Includes VIPs from all tenants except dataComponent. Read-only. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty + string. + type: string + redundancyMode: + description: 'RedundancyMode: Site redundancy mode' + type: string + repositorySiteName: + description: 'RepositorySiteName: Name of the repository site.' + type: string + reserved: + description: 'Reserved: true if reserved; otherwise, false.' + type: boolean + resourceGroup: + description: 'ResourceGroup: Name of the resource group the app belongs to. Read-only.' + type: string + scmSiteAlsoStopped: + description: |- + ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. + The default is false. + type: boolean + serverFarmId: + description: |- + ServerFarmId: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + type: string + siteConfig: + description: 'SiteConfig: Configuration of the app.' + properties: + acrUseManagedIdentityCreds: + description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' + type: boolean + acrUserManagedIdentityID: + description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' + type: string + alwaysOn: + description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' + type: boolean + apiDefinition: + description: 'ApiDefinition: Information about the formal API definition for the app.' + properties: + url: + description: 'Url: The URL of the API definition.' + type: string + type: object + apiManagementConfig: + description: 'ApiManagementConfig: Azure API management settings linked to the app.' + properties: + id: + description: 'Id: APIM-Api Identifier.' + type: string + type: object + appCommandLine: + description: 'AppCommandLine: App command line to launch.' + type: string + appSettings: + description: 'AppSettings: Application settings.' + items: + description: Name value pair. + properties: + name: + description: 'Name: Pair name.' + type: string + value: + description: 'Value: Pair value.' + type: string + type: object + type: array + autoHealEnabled: + description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' + type: boolean + autoHealRules: + description: 'AutoHealRules: Auto Heal rules.' + properties: + actions: + description: 'Actions: Actions to be executed when a rule is triggered.' + properties: + actionType: + description: 'ActionType: Predefined action to be taken.' + type: string + customAction: + description: 'CustomAction: Custom action to be taken.' + properties: + exe: + description: 'Exe: Executable to be run.' + type: string + parameters: + description: 'Parameters: Parameters for the executable.' + type: string + type: object + minProcessExecutionTime: + description: |- + MinProcessExecutionTime: Minimum time the process must execute + before taking the action + type: string + type: object + triggers: + description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' + properties: + privateBytesInKB: + description: 'PrivateBytesInKB: A rule based on private bytes.' + type: integer + requests: + description: 'Requests: A rule based on total requests.' + properties: + count: + description: 'Count: Request Count.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + slowRequests: + description: 'SlowRequests: A rule based on request execution time.' + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + slowRequestsWithPath: + description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' + items: + description: Trigger based on request execution time. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + type: array + statusCodes: + description: 'StatusCodes: A rule based on status codes.' + items: + description: Trigger based on status code. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path' + type: string + status: + description: 'Status: HTTP status code.' + type: integer + subStatus: + description: 'SubStatus: Request Sub Status.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + win32Status: + description: 'Win32Status: Win32 error code.' + type: integer + type: object + type: array + statusCodesRange: + description: 'StatusCodesRange: A rule based on status codes ranges.' + items: + description: Trigger based on range of status codes. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + type: string + statusCodes: + description: 'StatusCodes: HTTP status code.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + description: 'AutoSwapSlotName: Auto-swap slot name.' + type: string + azureStorageAccounts: + additionalProperties: + description: Azure Files or Blob Storage access information value for dictionary storage. + properties: + accountName: + description: 'AccountName: Name of the storage account.' + type: string + mountPath: + description: 'MountPath: Path to mount the storage within the site''s runtime environment.' + type: string + shareName: + description: 'ShareName: Name of the file share (container name, for Blob storage).' + type: string + state: + description: 'State: State of the storage account.' + type: string + type: + description: 'Type: Type of storage.' + type: string + type: object + description: 'AzureStorageAccounts: List of Azure Storage Accounts.' + type: object + connectionStrings: + description: 'ConnectionStrings: Connection strings.' + items: + description: Database connection string information. + properties: + connectionString: + description: 'ConnectionString: Connection string value.' + type: string + name: + description: 'Name: Name of connection string.' + type: string + type: + description: 'Type: Type of database.' + type: string + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + items: + type: string + type: array + supportCredentials: + description: |- + SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + type: boolean + type: object + defaultDocuments: + description: 'DefaultDocuments: Default documents.' + items: + type: string + type: array + detailedErrorLoggingEnabled: + description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' + type: boolean + documentRoot: + description: 'DocumentRoot: Document root.' + type: string + experiments: + description: 'Experiments: This is work around for polymorphic types.' + properties: + rampUpRules: + description: 'RampUpRules: List of ramp-up rules.' + items: + description: |- + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + actionHostName: + description: |- + ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. + myapp-stage.azurewebsites.net. + type: string + changeDecisionCallbackUrl: + description: |- + ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be + specified. + type: string + changeIntervalInMinutes: + description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' + type: integer + changeStep: + description: |- + ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches + \nMinReroutePercentage or + MaxReroutePercentage. Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes.\nCustom decision algorithm + can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. + type: number + maxReroutePercentage: + description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' + type: number + minReroutePercentage: + description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' + type: number + name: + description: |- + Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the + experiment. + type: string + reroutePercentage: + description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' + type: number + type: object + type: array + type: object + ftpsState: + description: 'FtpsState: State of FTP / FTPS service' + type: string + functionAppScaleLimit: + description: |- + FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. + This setting only applies to the Consumption and Elastic Premium Plans + type: integer + functionsRuntimeScaleMonitoringEnabled: + description: |- + FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is + enabled. When enabled, + the ScaleController will not monitor event sources directly, but will instead call to the + runtime to get scale status. + type: boolean + handlerMappings: + description: 'HandlerMappings: Handler mappings.' + items: + description: |- + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. + properties: + arguments: + description: 'Arguments: Command-line arguments to be passed to the script processor.' + type: string + extension: + description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' + type: string + scriptProcessor: + description: 'ScriptProcessor: The absolute path to the FastCGI application.' + type: string + type: object + type: array + healthCheckPath: + description: 'HealthCheckPath: Health check path' + type: string + http20Enabled: + description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' + type: boolean + httpLoggingEnabled: + description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: IP security restrictions for main.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array + description: |- + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + type: string + name: + description: 'Name: IP restriction rule name.' + type: string + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + type: string + vnetSubnetResourceId: + description: 'VnetSubnetResourceId: Virtual network resource id' + type: string + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer + type: object + type: array + javaContainer: + description: 'JavaContainer: Java container.' + type: string + javaContainerVersion: + description: 'JavaContainerVersion: Java container version.' + type: string + javaVersion: + description: 'JavaVersion: Java version.' + type: string + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + limits: + description: 'Limits: Site limits.' + properties: + maxDiskSizeInMb: + description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' + type: integer + maxMemoryInMb: + description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' + type: integer + maxPercentageCpu: + description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' + type: number + type: object + linuxFxVersion: + description: 'LinuxFxVersion: Linux App Framework and version' + type: string + loadBalancing: + description: 'LoadBalancing: Site load balancing.' + type: string + localMySqlEnabled: + description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' + type: boolean + logsDirectorySizeLimit: + description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' + type: integer + machineKey: + description: 'MachineKey: Site MachineKey.' + properties: + decryption: + description: 'Decryption: Algorithm used for decryption.' + type: string + decryptionKey: + description: 'DecryptionKey: Decryption key.' + type: string + validation: + description: 'Validation: MachineKey validation.' + type: string + validationKey: + description: 'ValidationKey: Validation key.' + type: string + type: object + managedPipelineMode: + description: 'ManagedPipelineMode: Managed pipeline mode.' + type: string + managedServiceIdentityId: + description: 'ManagedServiceIdentityId: Managed Service Identity Id' + type: integer + minTlsVersion: + description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' + type: string + minimumElasticInstanceCount: + description: |- + MinimumElasticInstanceCount: Number of minimum instance count for a site + This setting only applies to the Elastic Plans + type: integer + netFrameworkVersion: + description: 'NetFrameworkVersion: .NET Framework version.' + type: string + nodeVersion: + description: 'NodeVersion: Version of Node.js.' + type: string + numberOfWorkers: + description: 'NumberOfWorkers: Number of workers.' + type: integer + phpVersion: + description: 'PhpVersion: Version of PHP.' + type: string + powerShellVersion: + description: 'PowerShellVersion: Version of PowerShell.' + type: string + preWarmedInstanceCount: + description: |- + PreWarmedInstanceCount: Number of preWarmed instances. + This setting only applies to the Consumption and Elastic Plans + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: Property to allow or block all public traffic.' + type: string + publishingUsername: + description: 'PublishingUsername: Publishing user name.' + type: string + push: + description: 'Push: Push endpoint settings.' + properties: + dynamicTagsJson: + description: |- + DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in + the push registration endpoint. + type: string + id: + description: 'Id: Resource Id.' + type: string + isPushEnabled: + description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + name: + description: 'Name: Resource Name.' + type: string + tagWhitelistJson: + description: |- + TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push + registration endpoint. + type: string + tagsRequiringAuth: + description: |- + TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in + the push registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + pythonVersion: + description: 'PythonVersion: Version of Python.' + type: string + remoteDebuggingEnabled: + description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' + type: boolean + remoteDebuggingVersion: + description: 'RemoteDebuggingVersion: Remote debugging version.' + type: string + requestTracingEnabled: + description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' + type: boolean + requestTracingExpirationTime: + description: 'RequestTracingExpirationTime: Request tracing expiration time.' + type: string + scmIpSecurityRestrictions: + description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array + description: |- + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + type: string + name: + description: 'Name: IP restriction rule name.' + type: string + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + type: string + vnetSubnetResourceId: + description: 'VnetSubnetResourceId: Virtual network resource id' + type: string + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer + type: object + type: array + scmIpSecurityRestrictionsUseMain: + description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' + type: boolean + scmMinTlsVersion: + description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' + type: string + scmType: + description: 'ScmType: SCM type.' + type: string + tracingOptions: + description: 'TracingOptions: Tracing options.' + type: string + use32BitWorkerProcess: + description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' + type: boolean + virtualApplications: + description: 'VirtualApplications: Virtual applications.' + items: + description: Virtual application in an app. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + preloadEnabled: + description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' + type: boolean + virtualDirectories: + description: 'VirtualDirectories: Virtual directories for virtual application.' + items: + description: Directory for virtual application. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + virtualPath: + description: 'VirtualPath: Path to virtual application.' + type: string + type: object + type: array + virtualPath: + description: 'VirtualPath: Virtual path.' + type: string + type: object + type: array + vnetName: + description: 'VnetName: Virtual Network name.' + type: string + vnetPrivatePortsCount: + description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' + type: integer + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean + webSocketsEnabled: + description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' + type: boolean + websiteTimeZone: + description: |- + WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App + Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database + values https://www.iana.org/time-zones (for a quick reference see + https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under + HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones + type: string + windowsFxVersion: + description: 'WindowsFxVersion: Xenon App Framework and version' + type: string + xManagedServiceIdentityId: + description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' + type: integer + type: object + slotSwapStatus: + description: 'SlotSwapStatus: Status of the last deployment slot swap operation.' + properties: + destinationSlotName: + description: 'DestinationSlotName: The destination slot of the last swap operation.' + type: string + sourceSlotName: + description: 'SourceSlotName: The source slot of the last swap operation.' + type: string + timestampUtc: + description: 'TimestampUtc: The time the last successful slot swap completed.' + type: string + type: object + state: + description: 'State: Current state of the app.' + type: string + storageAccountRequired: + description: 'StorageAccountRequired: Checks if Customer provided storage account is required' + type: boolean + suspendedTill: + description: 'SuspendedTill: App suspended till in case memory-time quota is exceeded.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetSwapSlot: + description: 'TargetSwapSlot: Specifies which deployment slot this app will swap into. Read-only.' + type: string + trafficManagerHostNames: + description: 'TrafficManagerHostNames: Azure Traffic Manager hostnames associated with the app. Read-only.' + items: + type: string + type: array + type: + description: 'Type: Resource type.' + type: string + usageState: + description: 'UsageState: State indicating whether the app has exceeded its quota usage. Read-only.' + type: string + virtualNetworkSubnetId: + description: |- + VirtualNetworkSubnetId: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + type: string + vnetContentShareEnabled: + description: 'VnetContentShareEnabled: To enable accessing content over virtual network' + type: boolean + vnetImagePullEnabled: + description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' + type: boolean + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.Site + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.Site_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffinityEnabled: + type: boolean + clientCertEnabled: + type: boolean + clientCertExclusionPaths: + type: string + clientCertMode: + type: string + cloningInfo: + description: |- + Storage version of v1api20220301.CloningInfo + Information needed for cloning operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSettingsOverrides: + additionalProperties: + type: string + type: object + cloneCustomHostNames: + type: boolean + cloneSourceControl: + type: boolean + configureLoadBalancing: + type: boolean + correlationId: + type: string + hostingEnvironment: + type: string + overwrite: + type: boolean + sourceWebAppLocation: + type: string + sourceWebAppReference: + description: |- + SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + trafficManagerProfileName: + type: string + trafficManagerProfileReference: + description: |- + TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceWebAppReference + type: object + containerSize: + type: integer + customDomainVerificationId: + type: string + dailyMemoryTimeQuota: + type: integer + enabled: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + hostNameSslStates: + items: + description: |- + Storage version of v1api20220301.HostNameSslState + SSL-enabled hostname. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostType: + type: string + name: + type: string + sslState: + type: string + thumbprint: + type: string + toUpdate: + type: boolean + virtualIP: + type: string + type: object + type: array + hostNamesDisabled: + type: boolean + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpsOnly: + type: boolean + hyperV: + type: boolean + identity: + description: |- + Storage version of v1api20220301.ManagedServiceIdentity + Managed service identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isXenon: + type: boolean + keyVaultReferenceIdentity: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.SiteOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redundancyMode: + type: string + reserved: + type: boolean + scmSiteAlsoStopped: + type: boolean + serverFarmReference: + description: |- + ServerFarmReference: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + siteConfig: + description: |- + Storage version of v1api20220301.SiteConfig + Configuration of an App Service app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrUseManagedIdentityCreds: + type: boolean + acrUserManagedIdentityID: + type: string + alwaysOn: + type: boolean + apiDefinition: + description: |- + Storage version of v1api20220301.ApiDefinitionInfo + Information about the formal API definition for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + type: object + apiManagementConfig: + description: |- + Storage version of v1api20220301.ApiManagementConfig + Azure API management (APIM) configuration linked to the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: APIM-Api Identifier.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + appCommandLine: + type: string + appSettings: + items: + description: |- + Storage version of v1api20220301.NameValuePair + Name value pair. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + autoHealEnabled: + type: boolean + autoHealRules: + description: |- + Storage version of v1api20220301.AutoHealRules + Rules that can be defined for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220301.AutoHealActions + Actions which to take by the auto-heal module when a rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionType: + type: string + customAction: + description: |- + Storage version of v1api20220301.AutoHealCustomAction + Custom action to be executed + when an auto heal rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exe: + type: string + parameters: + type: string + type: object + minProcessExecutionTime: + type: string + type: object + triggers: + description: |- + Storage version of v1api20220301.AutoHealTriggers + Triggers for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateBytesInKB: + type: integer + requests: + description: |- + Storage version of v1api20220301.RequestsBasedTrigger + Trigger based on total requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + timeInterval: + type: string + type: object + slowRequests: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + slowRequestsWithPath: + items: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + type: array + statusCodes: + items: + description: |- + Storage version of v1api20220301.StatusCodesBasedTrigger + Trigger based on status code. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + status: + type: integer + subStatus: + type: integer + timeInterval: + type: string + win32Status: + type: integer + type: object + type: array + statusCodesRange: + items: + description: |- + Storage version of v1api20220301.StatusCodesRangeBasedTrigger + Trigger based on range of status codes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + statusCodes: + type: string + timeInterval: + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + type: string + azureStorageAccounts: + additionalProperties: + description: |- + Storage version of v1api20220301.AzureStorageInfoValue + Azure Files or Blob Storage access information value for dictionary storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + accountName: + type: string + mountPath: + type: string + shareName: + type: string + type: + type: string + type: object + type: object + connectionStrings: + items: + description: |- + Storage version of v1api20220301.ConnStringInfo + Database connection string information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + type: string + name: + type: string + type: + type: string + type: object + type: array + cors: + description: |- + Storage version of v1api20220301.CorsSettings + Cross-Origin Resource Sharing (CORS) settings for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + supportCredentials: + type: boolean + type: object + defaultDocuments: + items: + type: string + type: array + detailedErrorLoggingEnabled: + type: boolean + documentRoot: + type: string + experiments: + description: |- + Storage version of v1api20220301.Experiments + Routing rules in production experiments. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rampUpRules: + items: + description: |- + Storage version of v1api20220301.RampUpRule + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionHostName: + type: string + changeDecisionCallbackUrl: + type: string + changeIntervalInMinutes: + type: integer + changeStep: + type: number + maxReroutePercentage: + type: number + minReroutePercentage: + type: number + name: + type: string + reroutePercentage: + type: number + type: object + type: array + type: object + ftpsState: + type: string + functionAppScaleLimit: + type: integer + functionsRuntimeScaleMonitoringEnabled: + type: boolean + handlerMappings: + items: + description: |- + Storage version of v1api20220301.HandlerMapping + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + arguments: + type: string + extension: + type: string + scriptProcessor: + type: string + type: object + type: array + healthCheckPath: + type: string + http20Enabled: + type: boolean + httpLoggingEnabled: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + type: integer + type: object + type: array + javaContainer: + type: string + javaContainerVersion: + type: string + javaVersion: + type: string + keyVaultReferenceIdentity: + type: string + limits: + description: |- + Storage version of v1api20220301.SiteLimits + Metric limits set on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxDiskSizeInMb: + type: integer + maxMemoryInMb: + type: integer + maxPercentageCpu: + type: number + type: object + linuxFxVersion: + type: string + loadBalancing: + type: string + localMySqlEnabled: + type: boolean + logsDirectorySizeLimit: + type: integer + managedPipelineMode: + type: string + managedServiceIdentityId: + type: integer + minTlsVersion: + type: string + minimumElasticInstanceCount: + type: integer + netFrameworkVersion: + type: string + nodeVersion: + type: string + numberOfWorkers: + type: integer + phpVersion: + type: string + powerShellVersion: + type: string + preWarmedInstanceCount: + type: integer + publicNetworkAccess: + type: string + publishingUsername: + type: string + push: + description: |- + Storage version of v1api20220301.PushSettings + Push settings for the App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicTagsJson: + type: string + isPushEnabled: + type: boolean + kind: + type: string + tagWhitelistJson: + type: string + tagsRequiringAuth: + type: string + type: object + pythonVersion: + type: string + remoteDebuggingEnabled: + type: boolean + remoteDebuggingVersion: + type: string + requestTracingEnabled: + type: boolean + requestTracingExpirationTime: + type: string + scmIpSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + type: integer + type: object + type: array + scmIpSecurityRestrictionsUseMain: + type: boolean + scmMinTlsVersion: + type: string + scmType: + type: string + tracingOptions: + type: string + use32BitWorkerProcess: + type: boolean + virtualApplications: + items: + description: |- + Storage version of v1api20220301.VirtualApplication + Virtual application in an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + preloadEnabled: + type: boolean + virtualDirectories: + items: + description: |- + Storage version of v1api20220301.VirtualDirectory + Directory for virtual application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + virtualPath: + type: string + type: object + type: array + virtualPath: + type: string + type: object + type: array + vnetName: + type: string + vnetPrivatePortsCount: + type: integer + vnetRouteAllEnabled: + type: boolean + webSocketsEnabled: + type: boolean + websiteTimeZone: + type: string + windowsFxVersion: + type: string + xManagedServiceIdentityId: + type: integer + type: object + storageAccountRequired: + type: boolean + tags: + additionalProperties: + type: string + type: object + virtualNetworkSubnetReference: + description: |- + VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetContentShareEnabled: + type: boolean + vnetImagePullEnabled: + type: boolean + vnetRouteAllEnabled: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.Site_STATUS + A web app, a mobile app backend, or an API app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityState: + type: string + clientAffinityEnabled: + type: boolean + clientCertEnabled: + type: boolean + clientCertExclusionPaths: + type: string + clientCertMode: + type: string + cloningInfo: + description: |- + Storage version of v1api20220301.CloningInfo_STATUS + Information needed for cloning operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSettingsOverrides: + additionalProperties: + type: string + type: object + cloneCustomHostNames: + type: boolean + cloneSourceControl: + type: boolean + configureLoadBalancing: + type: boolean + correlationId: + type: string + hostingEnvironment: + type: string + overwrite: + type: boolean + sourceWebAppId: + type: string + sourceWebAppLocation: + type: string + trafficManagerProfileId: + type: string + trafficManagerProfileName: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerSize: + type: integer + customDomainVerificationId: + type: string + dailyMemoryTimeQuota: + type: integer + defaultHostName: + type: string + enabled: + type: boolean + enabledHostNames: + items: + type: string + type: array + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostNameSslStates: + items: + description: |- + Storage version of v1api20220301.HostNameSslState_STATUS + SSL-enabled hostname. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostType: + type: string + name: + type: string + sslState: + type: string + thumbprint: + type: string + toUpdate: + type: boolean + virtualIP: + type: string + type: object + type: array + hostNames: + items: + type: string + type: array + hostNamesDisabled: + type: boolean + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile_STATUS + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + httpsOnly: + type: boolean + hyperV: + type: boolean + id: + type: string + identity: + description: |- + Storage version of v1api20220301.ManagedServiceIdentity_STATUS + Managed service identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20220301.UserAssignedIdentity_STATUS + User Assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + inProgressOperationId: + type: string + isDefaultContainer: + type: boolean + isXenon: + type: boolean + keyVaultReferenceIdentity: + type: string + kind: + type: string + lastModifiedTimeUtc: + type: string + location: + type: string + maxNumberOfWorkers: + type: integer + name: + type: string + outboundIpAddresses: + type: string + possibleOutboundIpAddresses: + type: string + publicNetworkAccess: + type: string + redundancyMode: + type: string + repositorySiteName: + type: string + reserved: + type: boolean + resourceGroup: + type: string + scmSiteAlsoStopped: + type: boolean + serverFarmId: + type: string + siteConfig: + description: |- + Storage version of v1api20220301.SiteConfig_STATUS + Configuration of an App Service app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrUseManagedIdentityCreds: + type: boolean + acrUserManagedIdentityID: + type: string + alwaysOn: + type: boolean + apiDefinition: + description: |- + Storage version of v1api20220301.ApiDefinitionInfo_STATUS + Information about the formal API definition for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + type: object + apiManagementConfig: + description: |- + Storage version of v1api20220301.ApiManagementConfig_STATUS + Azure API management (APIM) configuration linked to the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + appCommandLine: + type: string + appSettings: + items: + description: |- + Storage version of v1api20220301.NameValuePair_STATUS + Name value pair. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + autoHealEnabled: + type: boolean + autoHealRules: + description: |- + Storage version of v1api20220301.AutoHealRules_STATUS + Rules that can be defined for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220301.AutoHealActions_STATUS + Actions which to take by the auto-heal module when a rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionType: + type: string + customAction: + description: |- + Storage version of v1api20220301.AutoHealCustomAction_STATUS + Custom action to be executed + when an auto heal rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exe: + type: string + parameters: + type: string + type: object + minProcessExecutionTime: + type: string + type: object + triggers: + description: |- + Storage version of v1api20220301.AutoHealTriggers_STATUS + Triggers for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateBytesInKB: + type: integer + requests: + description: |- + Storage version of v1api20220301.RequestsBasedTrigger_STATUS + Trigger based on total requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + timeInterval: + type: string + type: object + slowRequests: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + slowRequestsWithPath: + items: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + type: array + statusCodes: + items: + description: |- + Storage version of v1api20220301.StatusCodesBasedTrigger_STATUS + Trigger based on status code. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + status: + type: integer + subStatus: + type: integer + timeInterval: + type: string + win32Status: + type: integer + type: object + type: array + statusCodesRange: + items: + description: |- + Storage version of v1api20220301.StatusCodesRangeBasedTrigger_STATUS + Trigger based on range of status codes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + statusCodes: + type: string + timeInterval: + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + type: string + azureStorageAccounts: + additionalProperties: + description: |- + Storage version of v1api20220301.AzureStorageInfoValue_STATUS + Azure Files or Blob Storage access information value for dictionary storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + mountPath: + type: string + shareName: + type: string + state: + type: string + type: + type: string + type: object + type: object + connectionStrings: + items: + description: |- + Storage version of v1api20220301.ConnStringInfo_STATUS + Database connection string information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + type: string + name: + type: string + type: + type: string + type: object + type: array + cors: + description: |- + Storage version of v1api20220301.CorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + supportCredentials: + type: boolean + type: object + defaultDocuments: + items: + type: string + type: array + detailedErrorLoggingEnabled: + type: boolean + documentRoot: + type: string + experiments: + description: |- + Storage version of v1api20220301.Experiments_STATUS + Routing rules in production experiments. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rampUpRules: + items: + description: |- + Storage version of v1api20220301.RampUpRule_STATUS + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionHostName: + type: string + changeDecisionCallbackUrl: + type: string + changeIntervalInMinutes: + type: integer + changeStep: + type: number + maxReroutePercentage: + type: number + minReroutePercentage: + type: number + name: + type: string + reroutePercentage: + type: number + type: object + type: array + type: object + ftpsState: + type: string + functionAppScaleLimit: + type: integer + functionsRuntimeScaleMonitoringEnabled: + type: boolean + handlerMappings: + items: + description: |- + Storage version of v1api20220301.HandlerMapping_STATUS + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + arguments: + type: string + extension: + type: string + scriptProcessor: + type: string + type: object + type: array + healthCheckPath: + type: string + http20Enabled: + type: boolean + httpLoggingEnabled: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction_STATUS + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceId: + type: string + vnetTrafficTag: + type: integer + type: object + type: array + javaContainer: + type: string + javaContainerVersion: + type: string + javaVersion: + type: string + keyVaultReferenceIdentity: + type: string + limits: + description: |- + Storage version of v1api20220301.SiteLimits_STATUS + Metric limits set on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxDiskSizeInMb: + type: integer + maxMemoryInMb: + type: integer + maxPercentageCpu: + type: number + type: object + linuxFxVersion: + type: string + loadBalancing: + type: string + localMySqlEnabled: + type: boolean + logsDirectorySizeLimit: + type: integer + machineKey: + description: |- + Storage version of v1api20220301.SiteMachineKey_STATUS + MachineKey of an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + decryption: + type: string + decryptionKey: + type: string + validation: + type: string + validationKey: + type: string + type: object + managedPipelineMode: + type: string + managedServiceIdentityId: + type: integer + minTlsVersion: + type: string + minimumElasticInstanceCount: + type: integer + netFrameworkVersion: + type: string + nodeVersion: + type: string + numberOfWorkers: + type: integer + phpVersion: + type: string + powerShellVersion: + type: string + preWarmedInstanceCount: + type: integer + publicNetworkAccess: + type: string + publishingUsername: + type: string + push: + description: |- + Storage version of v1api20220301.PushSettings_STATUS + Push settings for the App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicTagsJson: + type: string + id: + type: string + isPushEnabled: + type: boolean + kind: + type: string + name: + type: string + tagWhitelistJson: + type: string + tagsRequiringAuth: + type: string + type: + type: string + type: object + pythonVersion: + type: string + remoteDebuggingEnabled: + type: boolean + remoteDebuggingVersion: + type: string + requestTracingEnabled: + type: boolean + requestTracingExpirationTime: + type: string + scmIpSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction_STATUS + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceId: + type: string + vnetTrafficTag: + type: integer + type: object + type: array + scmIpSecurityRestrictionsUseMain: + type: boolean + scmMinTlsVersion: + type: string + scmType: + type: string + tracingOptions: + type: string + use32BitWorkerProcess: + type: boolean + virtualApplications: + items: + description: |- + Storage version of v1api20220301.VirtualApplication_STATUS + Virtual application in an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + preloadEnabled: + type: boolean + virtualDirectories: + items: + description: |- + Storage version of v1api20220301.VirtualDirectory_STATUS + Directory for virtual application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + virtualPath: + type: string + type: object + type: array + virtualPath: + type: string + type: object + type: array + vnetName: + type: string + vnetPrivatePortsCount: + type: integer + vnetRouteAllEnabled: + type: boolean + webSocketsEnabled: + type: boolean + websiteTimeZone: + type: string + windowsFxVersion: + type: string + xManagedServiceIdentityId: + type: integer + type: object + slotSwapStatus: + description: |- + Storage version of v1api20220301.SlotSwapStatus_STATUS + The status of the last successful slot swap operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destinationSlotName: + type: string + sourceSlotName: + type: string + timestampUtc: + type: string + type: object + state: + type: string + storageAccountRequired: + type: boolean + suspendedTill: + type: string + tags: + additionalProperties: + type: string + type: object + targetSwapSlot: + type: string + trafficManagerHostNames: + items: + type: string + type: array + type: + type: string + usageState: + type: string + virtualNetworkSubnetId: + type: string + vnetContentShareEnabled: + type: boolean + vnetImagePullEnabled: + type: boolean + vnetRouteAllEnabled: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sitessourcecontrols.web.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: web.azure.com + names: + categories: + - azure + - web + kind: SitesSourcecontrol + listKind: SitesSourcecontrolList + plural: sitessourcecontrols + singular: sitessourcecontrol + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + branch: + description: 'Branch: Name of branch to use for deployment.' + type: string + deploymentRollbackEnabled: + description: 'DeploymentRollbackEnabled: true to enable deployment rollback; otherwise, false.' + type: boolean + gitHubActionConfiguration: + description: 'GitHubActionConfiguration: If GitHub Action is selected, than the associated configuration.' + properties: + codeConfiguration: + description: 'CodeConfiguration: GitHub Action code configuration.' + properties: + runtimeStack: + description: 'RuntimeStack: Runtime stack is used to determine the workflow file content for code base apps.' + type: string + runtimeVersion: + description: 'RuntimeVersion: Runtime version is used to determine what build version to set in the workflow file.' + type: string + type: object + containerConfiguration: + description: 'ContainerConfiguration: GitHub Action container configuration.' + properties: + imageName: + description: 'ImageName: The image name for the build.' + type: string + password: + description: 'Password: The password used to upload the image to the container registry.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverUrl: + description: 'ServerUrl: The server URL for the container registry where the build will be hosted.' + type: string + username: + description: 'Username: The username used to upload the image to the container registry.' + type: string + type: object + generateWorkflowFile: + description: |- + GenerateWorkflowFile: Workflow option to determine whether the workflow file should be generated and written to the + repository. + type: boolean + isLinux: + description: 'IsLinux: This will help determine the workflow configuration to select.' + type: boolean + type: object + isGitHubAction: + description: 'IsGitHubAction: true if this is deployed via GitHub action.' + type: boolean + isManualIntegration: + description: |- + IsManualIntegration: true to limit to manual integration; false to enable continuous + integration (which configures webhooks into online repos like GitHub). + type: boolean + isMercurial: + description: 'IsMercurial: true for a Mercurial repository; false for a Git repository.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a web.azure.com/Site resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + repoUrl: + description: 'RepoUrl: Repository or source control URL.' + type: string + required: + - owner + type: object + status: + properties: + branch: + description: 'Branch: Name of branch to use for deployment.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentRollbackEnabled: + description: 'DeploymentRollbackEnabled: true to enable deployment rollback; otherwise, false.' + type: boolean + gitHubActionConfiguration: + description: 'GitHubActionConfiguration: If GitHub Action is selected, than the associated configuration.' + properties: + codeConfiguration: + description: 'CodeConfiguration: GitHub Action code configuration.' + properties: + runtimeStack: + description: 'RuntimeStack: Runtime stack is used to determine the workflow file content for code base apps.' + type: string + runtimeVersion: + description: 'RuntimeVersion: Runtime version is used to determine what build version to set in the workflow file.' + type: string + type: object + containerConfiguration: + description: 'ContainerConfiguration: GitHub Action container configuration.' + properties: + imageName: + description: 'ImageName: The image name for the build.' + type: string + serverUrl: + description: 'ServerUrl: The server URL for the container registry where the build will be hosted.' + type: string + username: + description: 'Username: The username used to upload the image to the container registry.' + type: string + type: object + generateWorkflowFile: + description: |- + GenerateWorkflowFile: Workflow option to determine whether the workflow file should be generated and written to the + repository. + type: boolean + isLinux: + description: 'IsLinux: This will help determine the workflow configuration to select.' + type: boolean + type: object + id: + description: 'Id: Resource Id.' + type: string + isGitHubAction: + description: 'IsGitHubAction: true if this is deployed via GitHub action.' + type: boolean + isManualIntegration: + description: |- + IsManualIntegration: true to limit to manual integration; false to enable continuous + integration (which configures webhooks into online repos like GitHub). + type: boolean + isMercurial: + description: 'IsMercurial: true for a Mercurial repository; false for a Git repository.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + name: + description: 'Name: Resource Name.' + type: string + repoUrl: + description: 'RepoUrl: Repository or source control URL.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.SitesSourcecontrol + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.SitesSourcecontrol_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + deploymentRollbackEnabled: + type: boolean + gitHubActionConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionConfiguration + The GitHub action configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + codeConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionCodeConfiguration + The GitHub action code configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + runtimeStack: + type: string + runtimeVersion: + type: string + type: object + containerConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionContainerConfiguration + The GitHub action container configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + imageName: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverUrl: + type: string + username: + type: string + type: object + generateWorkflowFile: + type: boolean + isLinux: + type: boolean + type: object + isGitHubAction: + type: boolean + isManualIntegration: + type: boolean + isMercurial: + type: boolean + kind: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.SitesSourcecontrolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a web.azure.com/Site resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + repoUrl: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220301.SitesSourcecontrol_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentRollbackEnabled: + type: boolean + gitHubActionConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionConfiguration_STATUS + The GitHub action configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + codeConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionCodeConfiguration_STATUS + The GitHub action code configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + runtimeStack: + type: string + runtimeVersion: + type: string + type: object + containerConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionContainerConfiguration_STATUS + The GitHub action container configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + imageName: + type: string + serverUrl: + type: string + username: + type: string + type: object + generateWorkflowFile: + type: boolean + isLinux: + type: boolean + type: object + id: + type: string + isGitHubAction: + type: boolean + isManualIntegration: + type: boolean + isMercurial: + type: boolean + kind: + type: string + name: + type: string + repoUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: smartdetectoralertrules.alertsmanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: alertsmanagement.azure.com + names: + categories: + - azure + - alertsmanagement + kind: SmartDetectorAlertRule + listKind: SmartDetectorAlertRuleList + plural: smartdetectoralertrules + singular: smartdetectoralertrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actionGroups: + description: 'ActionGroups: The alert rule actions.' + properties: + customEmailSubject: + description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' + type: string + customWebhookPayload: + description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' + type: string + groupReferences: + description: 'GroupReferences: The Action Group resource IDs.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + required: + - groupReferences + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: The alert rule description.' + type: string + detector: + description: 'Detector: The alert rule''s detector.' + properties: + id: + description: 'Id: The detector id.' + type: string + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Parameters: The detector''s parameters.''' + type: object + required: + - id + type: object + frequency: + description: |- + Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 + minute, depending on the detector. + type: string + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopeReferences: + description: 'ScopeReferences: The alert rule resources scope.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + description: 'Severity: The alert rule severity.' + enum: + - Sev0 + - Sev1 + - Sev2 + - Sev3 + - Sev4 + type: string + state: + description: 'State: The alert rule state.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + throttling: + description: 'Throttling: The alert rule throttling information.' + properties: + duration: + description: |- + Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time + granularity must be in minutes and minimum value is 0 minutes + type: string + type: object + required: + - actionGroups + - detector + - frequency + - owner + - scopeReferences + - severity + - state + type: object + status: + properties: + actionGroups: + description: 'ActionGroups: The alert rule actions.' + properties: + customEmailSubject: + description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' + type: string + customWebhookPayload: + description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' + type: string + groupIds: + description: 'GroupIds: The Action Group resource IDs.' + items: + type: string + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: The alert rule description.' + type: string + detector: + description: 'Detector: The alert rule''s detector.' + properties: + description: + description: 'Description: The Smart Detector description.' + type: string + id: + description: 'Id: The detector id.' + type: string + imagePaths: + description: 'ImagePaths: The Smart Detector image path. By default this is not populated, unless it''s specified in expandDetector' + items: + type: string + type: array + name: + description: 'Name: The Smart Detector name.' + type: string + parameterDefinitions: + description: 'ParameterDefinitions: The Smart Detector parameters definitions.''' + items: + description: The detector parameter definition. + properties: + description: + description: 'Description: The detector parameter description.' + type: string + displayName: + description: 'DisplayName: The detector parameter display name.' + type: string + isMandatory: + description: 'IsMandatory: A value indicating whether this detector parameter is mandatory.' + type: boolean + name: + description: 'Name: The detector parameter name.' + type: string + type: + description: 'Type: The detector parameter type.' + type: string + type: object + type: array + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Parameters: The detector''s parameters.''' + type: object + supportedCadences: + description: 'SupportedCadences: The Smart Detector supported cadences.' + items: + type: integer + type: array + supportedResourceTypes: + description: 'SupportedResourceTypes: The Smart Detector supported resource types.' + items: + type: string + type: array + type: object + frequency: + description: |- + Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 + minute, depending on the detector. + type: string + id: + description: 'Id: The resource ID.' + type: string + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + scope: + description: 'Scope: The alert rule resources scope.' + items: + type: string + type: array + severity: + description: 'Severity: The alert rule severity.' + type: string + state: + description: 'State: The alert rule state.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + throttling: + description: 'Throttling: The alert rule throttling information.' + properties: + duration: + description: |- + Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time + granularity must be in minutes and minimum value is 0 minutes + type: string + type: object + type: + description: 'Type: The resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.SmartDetectorAlertRule + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.SmartDetectorAlertRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + description: |- + Storage version of v1api20210401.ActionGroupsInformation + The Action Groups information, used by the alert rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmailSubject: + type: string + customWebhookPayload: + type: string + groupReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + detector: + description: |- + Storage version of v1api20210401.Detector + The detector information. By default this is not populated, unless it's specified in expandDetector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + frequency: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210401.SmartDetectorAlertRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopeReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + type: string + state: + type: string + tags: + additionalProperties: + type: string + type: object + throttling: + description: |- + Storage version of v1api20210401.ThrottlingInformation + Optional throttling information for the alert rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.SmartDetectorAlertRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + description: |- + Storage version of v1api20210401.ActionGroupsInformation_STATUS + The Action Groups information, used by the alert rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmailSubject: + type: string + customWebhookPayload: + type: string + groupIds: + items: + type: string + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + detector: + description: |- + Storage version of v1api20210401.Detector_STATUS + The detector information. By default this is not populated, unless it's specified in expandDetector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + imagePaths: + items: + type: string + type: array + name: + type: string + parameterDefinitions: + items: + description: |- + Storage version of v1api20210401.DetectorParameterDefinition_STATUS + The detector parameter definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + displayName: + type: string + isMandatory: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + supportedCadences: + items: + type: integer + type: array + supportedResourceTypes: + items: + type: string + type: array + type: object + frequency: + type: string + id: + type: string + location: + type: string + name: + type: string + scope: + items: + type: string + type: array + severity: + type: string + state: + type: string + tags: + additionalProperties: + type: string + type: object + throttling: + description: |- + Storage version of v1api20210401.ThrottlingInformation_STATUS + Optional throttling information for the alert rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: snapshots.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: Snapshot + listKind: SnapshotList + plural: snapshots + singular: snapshot + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200930 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - Empty + - FromImage + - Import + - Restore + - Upload + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + location: + description: 'Location: Resource location' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - Standard_LRS + - Standard_ZRS + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - creationData + - location + - owner + type: object + status: + description: Snapshot resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: 'Id: Resource Id' + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + location: + description: 'Location: Resource location' + type: string + managedBy: + description: 'ManagedBy: Unused. Always Null.' + type: string + name: + description: 'Name: Resource name' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + osType: + description: 'OsType: The Operating System type.' + type: string + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + timeCreated: + description: 'TimeCreated: The time when the snapshot was created.' + type: string + type: + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200930storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200930.Snapshot + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200930.Snapshot_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + creationData: + description: |- + Storage version of v1api20200930.CreationData + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20200930.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + incremental: + type: boolean + location: + type: string + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20200930.SnapshotOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + sku: + description: |- + Storage version of v1api20200930.SnapshotSku + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200930.Snapshot_STATUS + Snapshot resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + Storage version of v1api20200930.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + logicalSectorSize: + type: integer + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessId: + type: string + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20200930.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + incremental: + type: boolean + location: + type: string + managedBy: + type: string + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + sku: + description: |- + Storage version of v1api20200930.SnapshotSku_STATUS + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + copyCompletionError: + description: |- + CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart + operation fails. + properties: + errorCode: + description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' + enum: + - CopySourceNotFound + type: string + errorMessage: + description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' + type: string + required: + - errorCode + - errorMessage + type: object + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - CopyFromSanSnapshot + - CopyStart + - Empty + - FromImage + - Import + - ImportSecure + - Restore + - Upload + - UploadPreparedSecure + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + enum: + - Enhanced + - None + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + enum: + - AzureActiveDirectory + - None + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + enum: + - Disabled + - Enabled + type: string + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + enum: + - ConfidentialVM_DiskEncryptedWithCustomerKey + - ConfidentialVM_DiskEncryptedWithPlatformKey + - ConfidentialVM_NonPersistedTPM + - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey + - TrustedLaunch + type: string + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - Standard_LRS + - Standard_ZRS + type: string + type: object + supportedCapabilities: + description: |- + SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was + originally created. + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + enum: + - Arm64 + - x64 + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - creationData + - location + - owner + type: object + status: + description: Snapshot resource. + properties: + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + copyCompletionError: + description: |- + CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart + operation fails. + properties: + errorCode: + description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' + type: string + errorMessage: + description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' + type: string + type: object + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + elasticSanResourceId: + description: |- + ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san + volume snapshot. + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + type: string + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + incrementalSnapshotFamilyId: + description: |- + IncrementalSnapshotFamilyId: Incremental snapshots for a disk share an incremental snapshot family id. The Get Page + Range Diff API can only be called on incremental snapshots with the same family id. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: 'ManagedBy: Unused. Always Null.' + type: string + name: + description: 'Name: The name of the resource' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + osType: + description: 'OsType: The Operating System type.' + type: string + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + type: string + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetId: + description: |- + SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + type: string + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + type: string + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string + type: object + supportedCapabilities: + description: |- + SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was + originally created. + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' + type: boolean + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + timeCreated: + description: 'TimeCreated: The time when the snapshot was created.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240302.Snapshot + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/DiskRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240302.Snapshot_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + completionPercent: + type: number + copyCompletionError: + description: |- + Storage version of v1api20240302.CopyCompletionError + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorCode: + type: string + errorMessage: + type: string + type: object + creationData: + description: |- + Storage version of v1api20240302.CreationData + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + type: object + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20240302.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + incremental: + type: boolean + location: + type: string + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20240302.SnapshotOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.DiskPurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + type: string + type: object + sku: + description: |- + Storage version of v1api20240302.SnapshotSku + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.Snapshot_STATUS + Snapshot resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionPercent: + type: number + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + copyCompletionError: + description: |- + Storage version of v1api20240302.CopyCompletionError_STATUS + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorCode: + type: string + errorMessage: + type: string + type: object + creationData: + description: |- + Storage version of v1api20240302.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + elasticSanResourceId: + type: string + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessId: + type: string + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20240302.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + incremental: + type: boolean + incrementalSnapshotFamilyId: + type: string + location: + type: string + managedBy: + type: string + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.DiskPurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile_STATUS + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetId: + type: string + securityType: + type: string + type: object + sku: + description: |- + Storage version of v1api20240302.SnapshotSku_STATUS + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities_STATUS + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + systemData: + description: |- + Storage version of v1api20240302.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasecontainers.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainer + listKind: SqlDatabaseContainerList + plural: sqldatabasecontainers + singular: sqldatabasecontainer + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a container' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins + type: string + type: object + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 + type: integer + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string + type: object + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainer + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.SqlContainerResource + Cosmos DB SQL container resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + conflictResolutionPolicy: + description: |- + Storage version of v1api20210515.ConflictResolutionPolicy + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20210515.IndexingPolicy + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20210515.CompositePath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20210515.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20210515.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20210515.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20210515.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20210515.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + version: + type: integer + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20210515.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20210515.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20210515.SqlContainerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + conflictResolutionPolicy: + description: |- + Storage version of v1api20210515.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20210515.IndexingPolicy_STATUS + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20210515.CompositePath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20210515.ExcludedPath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20210515.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20210515.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20210515.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20210515.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20210515.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20210515.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a container' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + required: + - clientEncryptionKeyId + - encryptionAlgorithm + - encryptionType + - path + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + maximum: 2 + minimum: 1 + type: integer + required: + - includedPaths + - policyFormatVersion + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' + items: + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string + type: object + type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + type: integer + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' + items: + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string + type: object + type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainer + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlContainerResource + Cosmos DB SQL container resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20231115.ClientEncryptionPolicy + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20231115.ClientEncryptionIncludedPath + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: + items: + description: |- + Storage version of v1api20231115.ComputedProperty + The definition of a computed property + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + query: + type: string + type: object + type: array + conflictResolutionPolicy: + description: |- + Storage version of v1api20231115.ConflictResolutionPolicy + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20231115.IndexingPolicy + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20231115.CompositePath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20231115.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20231115.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20231115.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20231115.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20231115.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20231115.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20231115.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.SqlContainerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20231115.ClientEncryptionPolicy_STATUS + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20231115.ClientEncryptionIncludedPath_STATUS + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: + items: + description: |- + Storage version of v1api20231115.ComputedProperty_STATUS + The definition of a computed property + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + query: + type: string + type: object + type: array + conflictResolutionPolicy: + description: |- + Storage version of v1api20231115.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20231115.IndexingPolicy_STATUS + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20231115.CompositePath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20231115.ExcludedPath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20231115.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20231115.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20231115.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20231115.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20231115.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20231115.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a container' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + required: + - clientEncryptionKeyId + - encryptionAlgorithm + - encryptionType + - path + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + maximum: 2 + minimum: 1 + type: integer + required: + - includedPaths + - policyFormatVersion + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' + items: + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string + type: object + type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + type: integer + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' + items: + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string + type: object + type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseContainer + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.SqlContainerResource + Cosmos DB SQL container resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20240815.ClientEncryptionPolicy + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20240815.ClientEncryptionIncludedPath + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: + items: + description: |- + Storage version of v1api20240815.ComputedProperty + The definition of a computed property + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + query: + type: string + type: object + type: array + conflictResolutionPolicy: + description: |- + Storage version of v1api20240815.ConflictResolutionPolicy + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20240815.IndexingPolicy + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20240815.CompositePath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20240815.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20240815.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20240815.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20240815.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20240815.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20240815.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20240815.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20240815.SqlContainerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20240815.ClientEncryptionPolicy_STATUS + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20240815.ClientEncryptionIncludedPath_STATUS + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: + items: + description: |- + Storage version of v1api20240815.ComputedProperty_STATUS + The definition of a computed property + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + query: + type: string + type: object + type: array + conflictResolutionPolicy: + description: |- + Storage version of v1api20240815.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20240815.IndexingPolicy_STATUS + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20240815.CompositePath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20240815.ExcludedPath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20240815.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20240815.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20240815.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20240815.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20240815.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20240815.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasecontainerstoredprocedures.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerStoredProcedure + listKind: SqlDatabaseContainerStoredProcedureList + plural: sqldatabasecontainerstoredprocedures + singular: sqldatabasecontainerstoredprocedure + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a storedProcedure' + properties: + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.SqlStoredProcedureGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a storedProcedure' + properties: + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.SqlStoredProcedureGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a storedProcedure' + properties: + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.SqlStoredProcedureGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasecontainerthroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerThroughputSetting + listKind: SqlDatabaseContainerThroughputSettingList + plural: sqldatabasecontainerthroughputsettings + singular: sqldatabasecontainerthroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + minimumThroughput: + type: string + offerReplacePending: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasecontainertriggers.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerTrigger + listKind: SqlDatabaseContainerTriggerList + plural: sqldatabasecontainertriggers + singular: sqldatabasecontainertrigger + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a trigger' + properties: + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerTrigger + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerTriggerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.SqlTriggerResource + Cosmos DB SQL trigger resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.SqlTriggerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a trigger' + properties: + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerTrigger + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerTriggerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlTriggerResource + Cosmos DB SQL trigger resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.SqlTriggerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a trigger' + properties: + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Trigger' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerTrigger + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseContainerTrigger_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerTriggerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.SqlTriggerResource + Cosmos DB SQL trigger resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainerTrigger_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.SqlTriggerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + triggerOperation: + type: string + triggerType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerUserDefinedFunction + listKind: SqlDatabaseContainerUserDefinedFunctionList + plural: sqldatabasecontaineruserdefinedfunctions + singular: sqldatabasecontaineruserdefinedfunction + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a userDefinedFunction' + properties: + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunctionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.SqlUserDefinedFunctionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a userDefinedFunction' + properties: + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunctionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.SqlUserDefinedFunctionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a userDefinedFunction' + properties: + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunctionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.SqlUserDefinedFunctionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabases.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabase + listKind: SqlDatabaseList + plural: sqldatabases + singular: sqldatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a SQL database' + properties: + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.SqlDatabaseResource + Cosmos DB SQL database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20210515.SqlDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _colls: + type: string + _etag: + type: string + _rid: + type: string + _ts: + type: number + _users: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a SQL database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' + type: string + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlDatabaseResource + Cosmos DB SQL database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.SqlDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _colls: + type: string + _etag: + type: string + _rid: + type: string + _ts: + type: number + _users: + type: string + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a SQL database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' + type: string + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.SqlDatabaseResource + Cosmos DB SQL database resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20240815.SqlDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _colls: + type: string + _etag: + type: string + _rid: + type: string + _ts: + type: number + _users: + type: string + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqldatabasethroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseThroughputSetting + listKind: SqlDatabaseThroughputSettingList + plural: sqldatabasethroughputsettings + singular: sqldatabasethroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + minimumThroughput: + type: string + offerReplacePending: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: sqlroleassignments.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlRoleAssignment + listKind: SqlRoleAssignmentList + plural: sqlroleassignments + singular: sqlroleassignment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The unique identifier for the associated AAD principal in the AAD graph to which access is being + granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the + subscription. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlRoleAssignment + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlRoleAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.SqlRoleAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + type: string + scope: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlRoleAssignment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + principalId: + type: string + roleDefinitionId: + type: string + scope: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The unique identifier for the associated AAD principal in the AAD graph to which access is being + granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the + subscription. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlRoleAssignment + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlRoleAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlRoleAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + type: string + scope: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlRoleAssignment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + principalId: + type: string + roleDefinitionId: + type: string + scope: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The unique identifier for the associated AAD principal in the AAD graph to which access is being + granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the + subscription. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.SqlRoleAssignment + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.SqlRoleAssignment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.SqlRoleAssignmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roleDefinitionId: + type: string + scope: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlRoleAssignment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + principalId: + type: string + roleDefinitionId: + type: string + scope: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccounts.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccount + listKind: StorageAccountList + plural: storageaccounts + singular: storageaccount + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessTier: + description: 'AccessTier: Required for storage accounts where kind = BlobStorage. The access tier used for billing.' + enum: + - Cool + - Hot + type: string + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is true for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. The default interpretation is true + for this property. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if choose AD.' + properties: + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + required: + - azureStorageSid + - domainGuid + - domainName + - domainSid + - forestName + - netBiosDomainName + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + enum: + - None + - StorageFileDataSmbShareContributor + - StorageFileDataSmbShareElevatedContributor + - StorageFileDataSmbShareOwner + - StorageFileDataSmbShareReader + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used.' + enum: + - AADDS + - AD + - None + type: string + required: + - directoryServiceOptions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 3 + type: string + customDomain: + description: |- + CustomDomain: User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported + per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name + property. + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + required: + - name + type: object + encryption: + description: 'Encryption: Not applicable. Azure Storage encryption is enabled for all storage accounts and cannot be disabled.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + enum: + - Microsoft.Keyvault + - Microsoft.Storage + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + type: object + required: + - keySource + type: object + extendedLocation: + description: |- + ExtendedLocation: Optional. Set the extended location of the resource. If not set, the storage account will be created + in Azure main region. Otherwise it will be created in the specified extended location + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + required: + - keyExpirationPeriodInDays + type: object + kind: + description: 'Kind: Required. Indicates the type of storage account.' + enum: + - BlobStorage + - BlockBlobStorage + - FileStorage + - Storage + - StorageV2 + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + enum: + - Disabled + - Enabled + type: string + location: + description: |- + Location: Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure + Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is + created, but if an identical geo region is specified on update, the request will succeed. + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + enum: + - Allow + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: 'State: Gets the state of virtual network rule.' + enum: + - Deprovisioning + - Failed + - NetworkSourceDeleted + - Provisioning + - Succeeded + type: string + required: + - reference + type: object + type: array + required: + - defaultAction + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + blobEndpoint: + description: 'BlobEndpoint: indicates where the BlobEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: 'DfsEndpoint: indicates where the DfsEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: 'FileEndpoint: indicates where the FileEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: 'QueueEndpoint: indicates where the QueueEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: 'TableEndpoint: indicates where the TableEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: 'WebEndpoint: indicates where the WebEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + blobEndpoint: + description: |- + BlobEndpoint: indicates where the BlobEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + DfsEndpoint: indicates where the DfsEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + FileEndpoint: indicates where the FileEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + QueueEndpoint: indicates where the QueueEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + TableEndpoint: indicates where the TableEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + WebEndpoint: indicates where the WebEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + enum: + - InternetRouting + - MicrosoftRouting + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + enum: + - Log + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + required: + - expirationAction + - sasExpirationPeriod + type: object + sku: + description: 'Sku: Required. Gets or sets the SKU name.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + enum: + - Premium_LRS + - Premium_ZRS + - Standard_GRS + - Standard_GZRS + - Standard_LRS + - Standard_RAGRS + - Standard_RAGZRS + - Standard_ZRS + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + enum: + - Premium + - Standard + type: string + required: + - name + type: object + supportsHttpsTrafficOnly: + description: |- + SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true. The default value is true since + API version 2019-04-01. + type: boolean + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key + with a length no greater than 128 characters and a value with a length no greater than 256 characters. + type: object + required: + - kind + - location + - owner + - sku + type: object + status: + description: The storage account. + properties: + accessTier: + description: 'AccessTier: Required for storage accounts where kind = BlobStorage. The access tier used for billing.' + type: string + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is true for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. The default interpretation is true + for this property. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if choose AD.' + properties: + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used.' + type: string + type: object + blobRestoreStatus: + description: 'BlobRestoreStatus: Blob restore status' + properties: + failureReason: + description: 'FailureReason: Failure reason when blob restore is failed.' + type: string + parameters: + description: 'Parameters: Blob restore request parameters.' + properties: + blobRanges: + description: 'BlobRanges: Blob ranges to restore.' + items: + description: Blob range + properties: + endRange: + description: 'EndRange: Blob end range. This is exclusive. Empty means account end.' + type: string + startRange: + description: 'StartRange: Blob start range. This is inclusive. Empty means account start.' + type: string + type: object + type: array + timeToRestore: + description: 'TimeToRestore: Restore blob to the specified time.' + type: string + type: object + restoreId: + description: 'RestoreId: Id for tracking blob restore request.' + type: string + status: + description: |- + Status: The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. + - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Gets the creation date and time of the storage account in UTC.' + type: string + customDomain: + description: 'CustomDomain: Gets the custom domain the user assigned to this storage account.' + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + type: object + encryption: + description: 'Encryption: Gets the encryption settings on the account. If unspecified, the account is unencrypted.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + userAssignedIdentity: + description: |- + UserAssignedIdentity: Resource identifier of the UserAssigned identity to be associated with server-side encryption on + the storage account. + type: string + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + currentVersionedKeyIdentifier: + description: 'CurrentVersionedKeyIdentifier: The object identifier of the current versioned Key Vault Key in use.' + type: string + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of last rotation of the Key Vault Key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned + when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a + rough estimate. + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned + when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a + rough estimate. + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned + when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a + rough estimate. + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: 'Enabled: A boolean indicating whether or not the service encrypts the data as it is stored.' + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned + when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a + rough estimate. + type: string + type: object + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extendedLocation of the resource.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + failoverInProgress: + description: 'FailoverInProgress: If the failover is in progress, the value will be true, otherwise, it will be null.' + type: boolean + geoReplicationStats: + description: 'GeoReplicationStats: Geo Replication Stats' + properties: + canFailover: + description: 'CanFailover: A boolean flag which indicates whether or not account failover is supported for the account.' + type: boolean + lastSyncTime: + description: |- + LastSyncTime: All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. + Primary writes following this point in time may or may not be available for reads. Element may be default value if value + of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap. + type: string + status: + description: |- + Status: The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is + active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary + location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the + secondary location is temporarily unavailable. + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: UserAssignedIdentity for the resource. + properties: + clientId: + description: 'ClientId: The client ID of the identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the identity.' + type: string + type: object + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + type: object + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + keyCreationTime: + description: 'KeyCreationTime: Storage account keys creation time.' + properties: + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + type: object + kind: + description: 'Kind: Gets the Kind.' + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + type: string + lastGeoFailoverTime: + description: |- + LastGeoFailoverTime: Gets the timestamp of the most recent instance of a failover to the secondary location. Only the + most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only + available if the accountType is Standard_GRS or Standard_RAGRS. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + type: string + name: + description: 'Name: The name of the resource' + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceId: + description: 'ResourceId: Resource Id' + type: string + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + type: string + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + type: string + state: + description: 'State: Gets the state of virtual network rule.' + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + PrimaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that + Standard_ZRS and Premium_LRS accounts only return the blob endpoint. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + primaryLocation: + description: 'PrimaryLocation: Gets the location of the primary data center for the storage account.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified storage account' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Gets the status of the storage account at the time the operation was called.' + type: string + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + type: object + secondaryEndpoints: + description: |- + SecondaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the + secondary location of the storage account. Only available if the SKU name is Standard_RAGRS. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + secondaryLocation: + description: |- + SecondaryLocation: Gets the location of the geo-replicated secondary for the storage account. Only available if the + accountType is Standard_GRS or Standard_RAGRS. + type: string + sku: + description: 'Sku: Gets the SKU.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + statusOfPrimary: + description: |- + StatusOfPrimary: Gets the status indicating whether the primary location of the storage account is available or + unavailable. + type: string + statusOfSecondary: + description: |- + StatusOfSecondary: Gets the status indicating whether the secondary location of the storage account is available or + unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. + type: string + supportsHttpsTrafficOnly: + description: 'SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccount + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20210401.AzureFilesIdentityBasedAuthentication + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20210401.ActiveDirectoryProperties + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomain: + description: |- + Storage version of v1api20210401.CustomDomain + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + encryption: + description: |- + Storage version of v1api20210401.Encryption + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20210401.EncryptionIdentity + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20210401.KeyVaultProperties + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20210401.EncryptionServices + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20210401.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + file: + description: |- + Storage version of v1api20210401.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + queue: + description: |- + Storage version of v1api20210401.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + table: + description: |- + Storage version of v1api20210401.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20210401.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20210401.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isHnsEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + keyPolicy: + description: |- + Storage version of v1api20210401.KeyPolicy + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + location: + type: string + minimumTlsVersion: + type: string + networkAcls: + description: |- + Storage version of v1api20210401.NetworkRuleSet + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210401.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20210401.ResourceAccessRule + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210401.VirtualNetworkRule + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + required: + - reference + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20210401.StorageAccountOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210401.StorageAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + routingPreference: + description: |- + Storage version of v1api20210401.RoutingPreference + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20210401.SasPolicy + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + sku: + description: |- + Storage version of v1api20210401.Sku + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210401.StorageAccount_STATUS + The storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20210401.AzureFilesIdentityBasedAuthentication_STATUS + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20210401.ActiveDirectoryProperties_STATUS + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + blobRestoreStatus: + description: |- + Storage version of v1api20210401.BlobRestoreStatus_STATUS + Blob restore status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureReason: + type: string + parameters: + description: |- + Storage version of v1api20210401.BlobRestoreParameters_STATUS + Blob restore parameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobRanges: + items: + description: |- + Storage version of v1api20210401.BlobRestoreRange_STATUS + Blob range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endRange: + type: string + startRange: + type: string + type: object + type: array + timeToRestore: + type: string + type: object + restoreId: + type: string + status: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + customDomain: + description: |- + Storage version of v1api20210401.CustomDomain_STATUS + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + encryption: + description: |- + Storage version of v1api20210401.Encryption_STATUS + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20210401.EncryptionIdentity_STATUS + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20210401.KeyVaultProperties_STATUS + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentVersionedKeyIdentifier: + type: string + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + lastKeyRotationTimestamp: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20210401.EncryptionServices_STATUS + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20210401.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + file: + description: |- + Storage version of v1api20210401.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + queue: + description: |- + Storage version of v1api20210401.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + table: + description: |- + Storage version of v1api20210401.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20210401.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + failoverInProgress: + type: boolean + geoReplicationStats: + description: |- + Storage version of v1api20210401.GeoReplicationStats_STATUS + Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when + geo-redundant replication is enabled for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + canFailover: + type: boolean + lastSyncTime: + type: string + status: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210401.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210401.UserAssignedIdentity_STATUS + UserAssignedIdentity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + isHnsEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + keyCreationTime: + description: |- + Storage version of v1api20210401.KeyCreationTime_STATUS + Storage account keys creation time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: |- + Storage version of v1api20210401.KeyPolicy_STATUS + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + lastGeoFailoverTime: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + networkAcls: + description: |- + Storage version of v1api20210401.NetworkRuleSet_STATUS + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210401.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20210401.ResourceAccessRule_STATUS + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210401.VirtualNetworkRule_STATUS + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + id: + type: string + state: + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + Storage version of v1api20210401.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20210401.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20210401.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + primaryLocation: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + routingPreference: + description: |- + Storage version of v1api20210401.RoutingPreference_STATUS + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20210401.SasPolicy_STATUS + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + secondaryEndpoints: + description: |- + Storage version of v1api20210401.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20210401.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20210401.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + secondaryLocation: + type: string + sku: + description: |- + Storage version of v1api20210401.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + statusOfPrimary: + type: string + statusOfSecondary: + type: string + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessTier: + description: |- + AccessTier: Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' + access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium + block blobs storage account type. + enum: + - Cool + - Hot + - Premium + type: string + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is true for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. The default interpretation is true + for this property. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + allowedCopyScope: + description: 'AllowedCopyScope: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.' + enum: + - AAD + - PrivateLink + type: string + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if directoryServiceOptions are AD, optional if they are AADKERB.' + properties: + accountType: + description: 'AccountType: Specifies the Active Directory account type for Azure Storage.' + enum: + - Computer + - User + type: string + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + samAccountName: + description: 'SamAccountName: Specifies the Active Directory SAMAccountName for Azure Storage.' + type: string + required: + - domainGuid + - domainName + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + enum: + - None + - StorageFileDataSmbShareContributor + - StorageFileDataSmbShareElevatedContributor + - StorageFileDataSmbShareReader + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used. Note that this enum may be extended in the future.' + enum: + - AADDS + - AADKERB + - AD + - None + type: string + required: + - directoryServiceOptions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 3 + type: string + customDomain: + description: |- + CustomDomain: User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported + per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name + property. + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + required: + - name + type: object + defaultToOAuthAuthentication: + description: |- + DefaultToOAuthAuthentication: A boolean flag which indicates whether the default authentication is OAuth or not. The + default interpretation is false for this property. + type: boolean + dnsEndpointType: + description: |- + DnsEndpointType: Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of + accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an + alphanumeric DNS Zone identifier. + enum: + - AzureDnsZone + - Standard + type: string + encryption: + description: 'Encryption: Encryption settings to be used for server-side encryption for the storage account.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + federatedIdentityClientId: + description: |- + FederatedIdentityClientId: ClientId of the multi-tenant application to be used in conjunction with the user-assigned + identity for cross-tenant customer-managed-keys server-side encryption on the storage account. + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + enum: + - Microsoft.Keyvault + - Microsoft.Storage + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + ExtendedLocation: Optional. Set the extended location of the resource. If not set, the storage account will be created + in Azure main region. Otherwise it will be created in the specified extended location + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The property is immutable and can only be set to true at the account creation time. When + set to true, it enables object level immutability for all the new containers in the account by default. + properties: + enabled: + description: |- + Enabled: A boolean flag which enables account-level immutability. All the containers under such an account have + object-level immutability enabled by default. + type: boolean + immutabilityPolicy: + description: |- + ImmutabilityPolicy: Specifies the default account-level immutability policy which is inherited and applied to objects + that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher + precedence than the container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for disabled and unlocked time-based retention policies. + When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only + new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + maximum: 146000 + minimum: 1 + type: integer + state: + description: |- + State: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state + allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites + property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a + Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition + to a Locked state which cannot be reverted. + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isLocalUserEnabled: + description: 'IsLocalUserEnabled: Enables local users feature, if set to true' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + isSftpEnabled: + description: 'IsSftpEnabled: Enables Secure File Transfer Protocol, if set to true' + type: boolean + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + required: + - keyExpirationPeriodInDays + type: object + kind: + description: 'Kind: Required. Indicates the type of storage account.' + enum: + - BlobStorage + - BlockBlobStorage + - FileStorage + - Storage + - StorageV2 + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + enum: + - Disabled + - Enabled + type: string + location: + description: |- + Location: Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure + Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is + created, but if an identical geo region is specified on update, the request will succeed. + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + enum: + - Allow + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: 'State: Gets the state of virtual network rule.' + enum: + - Deprovisioning + - Failed + - NetworkSourceDeleted + - Provisioning + - Succeeded + type: string + required: + - reference + type: object + type: array + required: + - defaultAction + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + blobEndpoint: + description: 'BlobEndpoint: indicates where the BlobEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: 'DfsEndpoint: indicates where the DfsEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: 'FileEndpoint: indicates where the FileEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: 'QueueEndpoint: indicates where the QueueEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: 'TableEndpoint: indicates where the TableEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: 'WebEndpoint: indicates where the WebEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + blobEndpoint: + description: |- + BlobEndpoint: indicates where the BlobEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + DfsEndpoint: indicates where the DfsEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + FileEndpoint: indicates where the FileEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + QueueEndpoint: indicates where the QueueEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + TableEndpoint: indicates where the TableEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + WebEndpoint: indicates where the WebEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Allow or disallow public network access to Storage Account. Value is optional but if passed in, + must be 'Enabled' or 'Disabled'. + enum: + - Disabled + - Enabled + type: string + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + enum: + - InternetRouting + - MicrosoftRouting + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + enum: + - Log + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + required: + - expirationAction + - sasExpirationPeriod + type: object + sku: + description: 'Sku: Required. Gets or sets the SKU name.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + enum: + - Premium_LRS + - Premium_ZRS + - Standard_GRS + - Standard_GZRS + - Standard_LRS + - Standard_RAGRS + - Standard_RAGZRS + - Standard_ZRS + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + enum: + - Premium + - Standard + type: string + required: + - name + type: object + supportsHttpsTrafficOnly: + description: |- + SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true. The default value is true since + API version 2019-04-01. + type: boolean + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key + with a length no greater than 128 characters and a value with a length no greater than 256 characters. + type: object + required: + - kind + - location + - owner + - sku + type: object + status: + description: The storage account. + properties: + accessTier: + description: |- + AccessTier: Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' + access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium + block blobs storage account type. + type: string + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is true for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. The default interpretation is true + for this property. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + allowedCopyScope: + description: 'AllowedCopyScope: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.' + type: string + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if directoryServiceOptions are AD, optional if they are AADKERB.' + properties: + accountType: + description: 'AccountType: Specifies the Active Directory account type for Azure Storage.' + type: string + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + samAccountName: + description: 'SamAccountName: Specifies the Active Directory SAMAccountName for Azure Storage.' + type: string + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used. Note that this enum may be extended in the future.' + type: string + type: object + blobRestoreStatus: + description: 'BlobRestoreStatus: Blob restore status' + properties: + failureReason: + description: 'FailureReason: Failure reason when blob restore is failed.' + type: string + parameters: + description: 'Parameters: Blob restore request parameters.' + properties: + blobRanges: + description: 'BlobRanges: Blob ranges to restore.' + items: + description: Blob range + properties: + endRange: + description: 'EndRange: Blob end range. This is exclusive. Empty means account end.' + type: string + startRange: + description: 'StartRange: Blob start range. This is inclusive. Empty means account start.' + type: string + type: object + type: array + timeToRestore: + description: 'TimeToRestore: Restore blob to the specified time.' + type: string + type: object + restoreId: + description: 'RestoreId: Id for tracking blob restore request.' + type: string + status: + description: |- + Status: The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. + - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Gets the creation date and time of the storage account in UTC.' + type: string + customDomain: + description: 'CustomDomain: Gets the custom domain the user assigned to this storage account.' + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + type: object + defaultToOAuthAuthentication: + description: |- + DefaultToOAuthAuthentication: A boolean flag which indicates whether the default authentication is OAuth or not. The + default interpretation is false for this property. + type: boolean + dnsEndpointType: + description: |- + DnsEndpointType: Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of + accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an + alphanumeric DNS Zone identifier. + type: string + encryption: + description: 'Encryption: Encryption settings to be used for server-side encryption for the storage account.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + federatedIdentityClientId: + description: |- + FederatedIdentityClientId: ClientId of the multi-tenant application to be used in conjunction with the user-assigned + identity for cross-tenant customer-managed-keys server-side encryption on the storage account. + type: string + userAssignedIdentity: + description: |- + UserAssignedIdentity: Resource identifier of the UserAssigned identity to be associated with server-side encryption on + the storage account. + type: string + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + currentVersionedKeyExpirationTimestamp: + description: |- + CurrentVersionedKeyExpirationTimestamp: This is a read only property that represents the expiration time of the current + version of the customer managed key used for encryption. + type: string + currentVersionedKeyIdentifier: + description: 'CurrentVersionedKeyIdentifier: The object identifier of the current versioned Key Vault Key in use.' + type: string + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of last rotation of the Key Vault Key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extendedLocation of the resource.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + failoverInProgress: + description: 'FailoverInProgress: If the failover is in progress, the value will be true, otherwise, it will be null.' + type: boolean + geoReplicationStats: + description: 'GeoReplicationStats: Geo Replication Stats' + properties: + canFailover: + description: 'CanFailover: A boolean flag which indicates whether or not account failover is supported for the account.' + type: boolean + lastSyncTime: + description: |- + LastSyncTime: All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. + Primary writes following this point in time may or may not be available for reads. Element may be default value if value + of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap. + type: string + status: + description: |- + Status: The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is + active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary + location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the + secondary location is temporarily unavailable. + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: UserAssignedIdentity for the resource. + properties: + clientId: + description: 'ClientId: The client ID of the identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the identity.' + type: string + type: object + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + type: object + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The property is immutable and can only be set to true at the account creation time. When + set to true, it enables object level immutability for all the containers in the account by default. + properties: + enabled: + description: |- + Enabled: A boolean flag which enables account-level immutability. All the containers under such an account have + object-level immutability enabled by default. + type: boolean + immutabilityPolicy: + description: |- + ImmutabilityPolicy: Specifies the default account-level immutability policy which is inherited and applied to objects + that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher + precedence than the container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for disabled and unlocked time-based retention policies. + When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only + new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + state: + description: |- + State: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state + allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites + property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a + Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition + to a Locked state which cannot be reverted. + type: string + type: object + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isLocalUserEnabled: + description: 'IsLocalUserEnabled: Enables local users feature, if set to true' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + isSftpEnabled: + description: 'IsSftpEnabled: Enables Secure File Transfer Protocol, if set to true' + type: boolean + keyCreationTime: + description: 'KeyCreationTime: Storage account keys creation time.' + properties: + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + type: object + kind: + description: 'Kind: Gets the Kind.' + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + type: string + lastGeoFailoverTime: + description: |- + LastGeoFailoverTime: Gets the timestamp of the most recent instance of a failover to the secondary location. Only the + most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only + available if the accountType is Standard_GRS or Standard_RAGRS. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + type: string + name: + description: 'Name: The name of the resource' + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceId: + description: 'ResourceId: Resource Id' + type: string + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + type: string + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + type: string + state: + description: 'State: Gets the state of virtual network rule.' + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + PrimaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that + Standard_ZRS and Premium_LRS accounts only return the blob endpoint. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + primaryLocation: + description: 'PrimaryLocation: Gets the location of the primary data center for the storage account.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified storage account' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Gets the status of the storage account at the time the operation was called.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Allow or disallow public network access to Storage Account. Value is optional but if passed in, + must be 'Enabled' or 'Disabled'. + type: string + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + type: object + secondaryEndpoints: + description: |- + SecondaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the + secondary location of the storage account. Only available if the SKU name is Standard_RAGRS. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + secondaryLocation: + description: |- + SecondaryLocation: Gets the location of the geo-replicated secondary for the storage account. Only available if the + accountType is Standard_GRS or Standard_RAGRS. + type: string + sku: + description: 'Sku: Gets the SKU.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + statusOfPrimary: + description: |- + StatusOfPrimary: Gets the status indicating whether the primary location of the storage account is available or + unavailable. + type: string + statusOfSecondary: + description: |- + StatusOfSecondary: Gets the status indicating whether the secondary location of the storage account is available or + unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. + type: string + storageAccountSkuConversionStatus: + description: |- + StorageAccountSkuConversionStatus: This property is readOnly and is set by server during asynchronous storage account + sku conversion operations. + properties: + endTime: + description: 'EndTime: This property represents the sku conversion end time.' + type: string + skuConversionStatus: + description: 'SkuConversionStatus: This property indicates the current sku conversion status.' + type: string + startTime: + description: 'StartTime: This property represents the sku conversion start time.' + type: string + targetSkuName: + description: 'TargetSkuName: This property represents the target sku name to which the account sku is being converted asynchronously.' + type: string + type: object + supportsHttpsTrafficOnly: + description: 'SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccount + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + allowedCopyScope: + type: string + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20220901.AzureFilesIdentityBasedAuthentication + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20220901.ActiveDirectoryProperties + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountType: + type: string + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + samAccountName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomain: + description: |- + Storage version of v1api20220901.CustomDomain + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + defaultToOAuthAuthentication: + type: boolean + dnsEndpointType: + type: string + encryption: + description: |- + Storage version of v1api20220901.Encryption + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20220901.EncryptionIdentity + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + federatedIdentityClientId: + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20220901.KeyVaultProperties + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20220901.EncryptionServices + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20220901.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + file: + description: |- + Storage version of v1api20220901.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + queue: + description: |- + Storage version of v1api20220901.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + table: + description: |- + Storage version of v1api20220901.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20220901.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20220901.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220901.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20220901.ImmutableStorageAccount + This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + immutabilityPolicy: + description: |- + Storage version of v1api20220901.AccountImmutabilityPolicyProperties + This defines account-level immutability policy properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + type: object + type: object + isHnsEnabled: + type: boolean + isLocalUserEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + isSftpEnabled: + type: boolean + keyPolicy: + description: |- + Storage version of v1api20220901.KeyPolicy + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + location: + type: string + minimumTlsVersion: + type: string + networkAcls: + description: |- + Storage version of v1api20220901.NetworkRuleSet + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20220901.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20220901.ResourceAccessRule + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20220901.VirtualNetworkRule + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + required: + - reference + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220901.StorageAccountOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220901.StorageAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + routingPreference: + description: |- + Storage version of v1api20220901.RoutingPreference + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20220901.SasPolicy + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + sku: + description: |- + Storage version of v1api20220901.Sku + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220901.StorageAccount_STATUS + The storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + allowedCopyScope: + type: string + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20220901.AzureFilesIdentityBasedAuthentication_STATUS + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20220901.ActiveDirectoryProperties_STATUS + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountType: + type: string + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + samAccountName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + blobRestoreStatus: + description: |- + Storage version of v1api20220901.BlobRestoreStatus_STATUS + Blob restore status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureReason: + type: string + parameters: + description: |- + Storage version of v1api20220901.BlobRestoreParameters_STATUS + Blob restore parameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobRanges: + items: + description: |- + Storage version of v1api20220901.BlobRestoreRange_STATUS + Blob range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endRange: + type: string + startRange: + type: string + type: object + type: array + timeToRestore: + type: string + type: object + restoreId: + type: string + status: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + customDomain: + description: |- + Storage version of v1api20220901.CustomDomain_STATUS + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + defaultToOAuthAuthentication: + type: boolean + dnsEndpointType: + type: string + encryption: + description: |- + Storage version of v1api20220901.Encryption_STATUS + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20220901.EncryptionIdentity_STATUS + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + federatedIdentityClientId: + type: string + userAssignedIdentity: + type: string + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20220901.KeyVaultProperties_STATUS + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentVersionedKeyExpirationTimestamp: + type: string + currentVersionedKeyIdentifier: + type: string + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + lastKeyRotationTimestamp: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20220901.EncryptionServices_STATUS + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20220901.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + file: + description: |- + Storage version of v1api20220901.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + queue: + description: |- + Storage version of v1api20220901.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + table: + description: |- + Storage version of v1api20220901.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20220901.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + failoverInProgress: + type: boolean + geoReplicationStats: + description: |- + Storage version of v1api20220901.GeoReplicationStats_STATUS + Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when + geo-redundant replication is enabled for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + canFailover: + type: boolean + lastSyncTime: + type: string + status: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20220901.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20220901.UserAssignedIdentity_STATUS + UserAssignedIdentity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20220901.ImmutableStorageAccount_STATUS + This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + immutabilityPolicy: + description: |- + Storage version of v1api20220901.AccountImmutabilityPolicyProperties_STATUS + This defines account-level immutability policy properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + type: object + type: object + isHnsEnabled: + type: boolean + isLocalUserEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + isSftpEnabled: + type: boolean + keyCreationTime: + description: |- + Storage version of v1api20220901.KeyCreationTime_STATUS + Storage account keys creation time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: |- + Storage version of v1api20220901.KeyPolicy_STATUS + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + lastGeoFailoverTime: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + networkAcls: + description: |- + Storage version of v1api20220901.NetworkRuleSet_STATUS + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20220901.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20220901.ResourceAccessRule_STATUS + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20220901.VirtualNetworkRule_STATUS + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + id: + type: string + state: + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + Storage version of v1api20220901.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20220901.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20220901.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + primaryLocation: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220901.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + routingPreference: + description: |- + Storage version of v1api20220901.RoutingPreference_STATUS + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20220901.SasPolicy_STATUS + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + secondaryEndpoints: + description: |- + Storage version of v1api20220901.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20220901.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20220901.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + secondaryLocation: + type: string + sku: + description: |- + Storage version of v1api20220901.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + statusOfPrimary: + type: string + statusOfSecondary: + type: string + storageAccountSkuConversionStatus: + description: |- + Storage version of v1api20220901.StorageAccountSkuConversionStatus_STATUS + This defines the sku conversion status object for asynchronous sku conversions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endTime: + type: string + skuConversionStatus: + type: string + startTime: + type: string + targetSkuName: + type: string + type: object + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessTier: + description: |- + AccessTier: Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' + access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium + block blobs storage account type. + enum: + - Cool + - Hot + - Premium + type: string + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is false for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. Set this property to true for new or + existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The + default interpretation is false for new accounts to follow best security practices by default. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + allowedCopyScope: + description: 'AllowedCopyScope: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.' + enum: + - AAD + - PrivateLink + type: string + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if directoryServiceOptions are AD, optional if they are AADKERB.' + properties: + accountType: + description: 'AccountType: Specifies the Active Directory account type for Azure Storage.' + enum: + - Computer + - User + type: string + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + samAccountName: + description: 'SamAccountName: Specifies the Active Directory SAMAccountName for Azure Storage.' + type: string + required: + - domainGuid + - domainName + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + enum: + - None + - StorageFileDataSmbShareContributor + - StorageFileDataSmbShareElevatedContributor + - StorageFileDataSmbShareReader + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used. Note that this enum may be extended in the future.' + enum: + - AADDS + - AADKERB + - AD + - None + type: string + required: + - directoryServiceOptions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 3 + pattern: ^[a-z0-9]+$ + type: string + customDomain: + description: |- + CustomDomain: User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported + per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name + property. + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + required: + - name + type: object + defaultToOAuthAuthentication: + description: |- + DefaultToOAuthAuthentication: A boolean flag which indicates whether the default authentication is OAuth or not. The + default interpretation is false for this property. + type: boolean + dnsEndpointType: + description: |- + DnsEndpointType: Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of + accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an + alphanumeric DNS Zone identifier. + enum: + - AzureDnsZone + - Standard + type: string + encryption: + description: 'Encryption: Encryption settings to be used for server-side encryption for the storage account.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + federatedIdentityClientId: + description: |- + FederatedIdentityClientId: ClientId of the multi-tenant application to be used in conjunction with the user-assigned + identity for cross-tenant customer-managed-keys server-side encryption on the storage account. + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + enum: + - Microsoft.Keyvault + - Microsoft.Storage + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + enum: + - Account + - Service + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + ExtendedLocation: Optional. Set the extended location of the resource. If not set, the storage account will be created + in Azure main region. Otherwise it will be created in the specified extended location + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The property is immutable and can only be set to true at the account creation time. When + set to true, it enables object level immutability for all the new containers in the account by default. + properties: + enabled: + description: |- + Enabled: A boolean flag which enables account-level immutability. All the containers under such an account have + object-level immutability enabled by default. + type: boolean + immutabilityPolicy: + description: |- + ImmutabilityPolicy: Specifies the default account-level immutability policy which is inherited and applied to objects + that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher + precedence than the container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for disabled and unlocked time-based retention policies. + When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only + new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + maximum: 146000 + minimum: 1 + type: integer + state: + description: |- + State: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state + allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites + property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a + Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition + to a Locked state which cannot be reverted. + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isLocalUserEnabled: + description: 'IsLocalUserEnabled: Enables local users feature, if set to true' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + isSftpEnabled: + description: 'IsSftpEnabled: Enables Secure File Transfer Protocol, if set to true' + type: boolean + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + required: + - keyExpirationPeriodInDays + type: object + kind: + description: 'Kind: Required. Indicates the type of storage account.' + enum: + - BlobStorage + - BlockBlobStorage + - FileStorage + - Storage + - StorageV2 + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + enum: + - Disabled + - Enabled + type: string + location: + description: |- + Location: Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure + Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is + created, but if an identical geo region is specified on update, the request will succeed. + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + enum: + - Allow + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: 'State: Gets the state of virtual network rule.' + enum: + - Deprovisioning + - Failed + - NetworkSourceDeleted + - Provisioning + - Succeeded + type: string + required: + - reference + type: object + type: array + required: + - defaultAction + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + blobEndpoint: + description: 'BlobEndpoint: indicates where the BlobEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: 'DfsEndpoint: indicates where the DfsEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: 'FileEndpoint: indicates where the FileEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: 'QueueEndpoint: indicates where the QueueEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: 'TableEndpoint: indicates where the TableEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: 'WebEndpoint: indicates where the WebEndpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + blobEndpoint: + description: |- + BlobEndpoint: indicates where the BlobEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + DfsEndpoint: indicates where the DfsEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + FileEndpoint: indicates where the FileEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + QueueEndpoint: indicates where the QueueEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + TableEndpoint: indicates where the TableEndpoint secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + WebEndpoint: indicates where the WebEndpoint secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Allow or disallow public network access to Storage Account. Value is optional but if passed in, + must be 'Enabled' or 'Disabled'. + enum: + - Disabled + - Enabled + type: string + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + enum: + - InternetRouting + - MicrosoftRouting + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + enum: + - Log + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + required: + - expirationAction + - sasExpirationPeriod + type: object + sku: + description: 'Sku: Required. Gets or sets the SKU name.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + enum: + - Premium_LRS + - Premium_ZRS + - Standard_GRS + - Standard_GZRS + - Standard_LRS + - Standard_RAGRS + - Standard_RAGZRS + - Standard_ZRS + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + enum: + - Premium + - Standard + type: string + required: + - name + type: object + supportsHttpsTrafficOnly: + description: |- + SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true. The default value is true since + API version 2019-04-01. + type: boolean + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key + with a length no greater than 128 characters and a value with a length no greater than 256 characters. + type: object + required: + - kind + - location + - owner + - sku + type: object + status: + description: The storage account. + properties: + accessTier: + description: |- + AccessTier: Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' + access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium + block blobs storage account type. + type: string + accountMigrationInProgress: + description: |- + AccountMigrationInProgress: If customer initiated account migration is in progress, the value will be true else it will + be null. + type: boolean + allowBlobPublicAccess: + description: |- + AllowBlobPublicAccess: Allow or disallow public access to all blobs or containers in the storage account. The default + interpretation is false for this property. + type: boolean + allowCrossTenantReplication: + description: |- + AllowCrossTenantReplication: Allow or disallow cross AAD tenant object replication. Set this property to true for new or + existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The + default interpretation is false for new accounts to follow best security practices by default. + type: boolean + allowSharedKeyAccess: + description: |- + AllowSharedKeyAccess: Indicates whether the storage account permits requests to be authorized with the account access + key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure + Active Directory (Azure AD). The default value is null, which is equivalent to true. + type: boolean + allowedCopyScope: + description: 'AllowedCopyScope: Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.' + type: string + azureFilesIdentityBasedAuthentication: + description: 'AzureFilesIdentityBasedAuthentication: Provides the identity based authentication settings for Azure Files.' + properties: + activeDirectoryProperties: + description: 'ActiveDirectoryProperties: Required if directoryServiceOptions are AD, optional if they are AADKERB.' + properties: + accountType: + description: 'AccountType: Specifies the Active Directory account type for Azure Storage.' + type: string + azureStorageSid: + description: 'AzureStorageSid: Specifies the security identifier (SID) for Azure Storage.' + type: string + domainGuid: + description: 'DomainGuid: Specifies the domain GUID.' + type: string + domainName: + description: 'DomainName: Specifies the primary domain that the AD DNS server is authoritative for.' + type: string + domainSid: + description: 'DomainSid: Specifies the security identifier (SID).' + type: string + forestName: + description: 'ForestName: Specifies the Active Directory forest to get.' + type: string + netBiosDomainName: + description: 'NetBiosDomainName: Specifies the NetBIOS domain name.' + type: string + samAccountName: + description: 'SamAccountName: Specifies the Active Directory SAMAccountName for Azure Storage.' + type: string + type: object + defaultSharePermission: + description: 'DefaultSharePermission: Default share permission for users using Kerberos authentication if RBAC role is not assigned.' + type: string + directoryServiceOptions: + description: 'DirectoryServiceOptions: Indicates the directory service used. Note that this enum may be extended in the future.' + type: string + type: object + blobRestoreStatus: + description: 'BlobRestoreStatus: Blob restore status' + properties: + failureReason: + description: 'FailureReason: Failure reason when blob restore is failed.' + type: string + parameters: + description: 'Parameters: Blob restore request parameters.' + properties: + blobRanges: + description: 'BlobRanges: Blob ranges to restore.' + items: + description: Blob range + properties: + endRange: + description: 'EndRange: Blob end range. This is exclusive. Empty means account end.' + type: string + startRange: + description: 'StartRange: Blob start range. This is inclusive. Empty means account start.' + type: string + type: object + type: array + timeToRestore: + description: 'TimeToRestore: Restore blob to the specified time.' + type: string + type: object + restoreId: + description: 'RestoreId: Id for tracking blob restore request.' + type: string + status: + description: |- + Status: The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. + - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + description: 'CreationTime: Gets the creation date and time of the storage account in UTC.' + type: string + customDomain: + description: 'CustomDomain: Gets the custom domain the user assigned to this storage account.' + properties: + name: + description: 'Name: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.' + type: string + useSubDomainName: + description: |- + UseSubDomainName: Indicates whether indirect CName validation is enabled. Default value is false. This should only be + set on updates. + type: boolean + type: object + defaultToOAuthAuthentication: + description: |- + DefaultToOAuthAuthentication: A boolean flag which indicates whether the default authentication is OAuth or not. The + default interpretation is false for this property. + type: boolean + dnsEndpointType: + description: |- + DnsEndpointType: Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of + accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an + alphanumeric DNS Zone identifier. + type: string + encryption: + description: 'Encryption: Encryption settings to be used for server-side encryption for the storage account.' + properties: + identity: + description: 'Identity: The identity to be used with service-side encryption at rest.' + properties: + federatedIdentityClientId: + description: |- + FederatedIdentityClientId: ClientId of the multi-tenant application to be used in conjunction with the user-assigned + identity for cross-tenant customer-managed-keys server-side encryption on the storage account. + type: string + userAssignedIdentity: + description: |- + UserAssignedIdentity: Resource identifier of the UserAssigned identity to be associated with server-side encryption on + the storage account. + type: string + type: object + keySource: + description: |- + KeySource: The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + Microsoft.Keyvault + type: string + keyvaultproperties: + description: 'Keyvaultproperties: Properties provided by key vault.' + properties: + currentVersionedKeyExpirationTimestamp: + description: |- + CurrentVersionedKeyExpirationTimestamp: This is a read only property that represents the expiration time of the current + version of the customer managed key used for encryption. + type: string + currentVersionedKeyIdentifier: + description: 'CurrentVersionedKeyIdentifier: The object identifier of the current versioned Key Vault Key in use.' + type: string + keyname: + description: 'Keyname: The name of KeyVault key.' + type: string + keyvaulturi: + description: 'Keyvaulturi: The Uri of KeyVault.' + type: string + keyversion: + description: 'Keyversion: The version of KeyVault key.' + type: string + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of last rotation of the Key Vault Key.' + type: string + type: object + requireInfrastructureEncryption: + description: |- + RequireInfrastructureEncryption: A boolean indicating whether or not the service applies a secondary layer of encryption + with platform managed keys for data at rest. + type: boolean + services: + description: 'Services: List of services which support encryption.' + properties: + blob: + description: 'Blob: The encryption function of the blob storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + file: + description: 'File: The encryption function of the file storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + queue: + description: 'Queue: The encryption function of the queue storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + table: + description: 'Table: The encryption function of the table storage service.' + properties: + enabled: + description: |- + Enabled: A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is + enabled by default today and cannot be disabled. + type: boolean + keyType: + description: |- + KeyType: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped + encryption key will be used. 'Service' key type implies that a default service key is used. + type: string + lastEnabledTime: + description: |- + LastEnabledTime: Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is + encrypted at rest by default today and cannot be disabled. + type: string + type: object + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extendedLocation of the resource.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + failoverInProgress: + description: 'FailoverInProgress: If the failover is in progress, the value will be true, otherwise, it will be null.' + type: boolean + geoReplicationStats: + description: 'GeoReplicationStats: Geo Replication Stats' + properties: + canFailover: + description: 'CanFailover: A boolean flag which indicates whether or not account failover is supported for the account.' + type: boolean + canPlannedFailover: + description: 'CanPlannedFailover: A boolean flag which indicates whether or not planned account failover is supported for the account.' + type: boolean + lastSyncTime: + description: |- + LastSyncTime: All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. + Primary writes following this point in time may or may not be available for reads. Element may be default value if value + of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap. + type: string + postFailoverRedundancy: + description: 'PostFailoverRedundancy: The redundancy type of the account after an account failover is performed.' + type: string + postPlannedFailoverRedundancy: + description: 'PostPlannedFailoverRedundancy: The redundancy type of the account after a planned account failover is performed.' + type: string + status: + description: |- + Status: The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is + active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary + location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the + secondary location is temporarily unavailable. + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: UserAssignedIdentity for the resource. + properties: + clientId: + description: 'ClientId: The client ID of the identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the identity.' + type: string + type: object + description: |- + UserAssignedIdentities: Gets or sets a list of key value pairs that describe the set of User Assigned identities that + will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned + identity is permitted here. + type: object + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The property is immutable and can only be set to true at the account creation time. When + set to true, it enables object level immutability for all the containers in the account by default. + properties: + enabled: + description: |- + Enabled: A boolean flag which enables account-level immutability. All the containers under such an account have + object-level immutability enabled by default. + type: boolean + immutabilityPolicy: + description: |- + ImmutabilityPolicy: Specifies the default account-level immutability policy which is inherited and applied to objects + that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher + precedence than the container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for disabled and unlocked time-based retention policies. + When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only + new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + state: + description: |- + State: The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state + allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites + property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a + Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition + to a Locked state which cannot be reverted. + type: string + type: object + type: object + isHnsEnabled: + description: 'IsHnsEnabled: Account HierarchicalNamespace enabled if sets to true.' + type: boolean + isLocalUserEnabled: + description: 'IsLocalUserEnabled: Enables local users feature, if set to true' + type: boolean + isNfsV3Enabled: + description: 'IsNfsV3Enabled: NFS 3.0 protocol support enabled if set to true.' + type: boolean + isSftpEnabled: + description: 'IsSftpEnabled: Enables Secure File Transfer Protocol, if set to true' + type: boolean + isSkuConversionBlocked: + description: |- + IsSkuConversionBlocked: This property will be set to true or false on an event of ongoing migration. Default value is + null. + type: boolean + keyCreationTime: + description: 'KeyCreationTime: Storage account keys creation time.' + properties: + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: 'KeyPolicy: KeyPolicy assigned to the storage account.' + properties: + keyExpirationPeriodInDays: + description: 'KeyExpirationPeriodInDays: The key expiration period in days.' + type: integer + type: object + kind: + description: 'Kind: Gets the Kind.' + type: string + largeFileSharesState: + description: 'LargeFileSharesState: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.' + type: string + lastGeoFailoverTime: + description: |- + LastGeoFailoverTime: Gets the timestamp of the most recent instance of a failover to the secondary location. Only the + most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only + available if the accountType is Standard_GRS or Standard_RAGRS. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS + 1.0 for this property. + type: string + name: + description: 'Name: The name of the resource' + type: string + networkAcls: + description: 'NetworkAcls: Network rule set' + properties: + bypass: + description: |- + Bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of + Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. + type: string + defaultAction: + description: 'DefaultAction: Specifies the default action of allow or deny when no other rules match.' + type: string + ipRules: + description: 'IpRules: Sets the IP ACL rules' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + resourceAccessRules: + description: 'ResourceAccessRules: Sets the resource access rules' + items: + description: Resource Access Rule. + properties: + resourceId: + description: 'ResourceId: Resource Id' + type: string + tenantId: + description: 'TenantId: Tenant Id' + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: Sets the virtual network rules' + items: + description: Virtual Network rule. + properties: + action: + description: 'Action: The action of virtual network rule.' + type: string + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + type: string + state: + description: 'State: Gets the state of virtual network rule.' + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + PrimaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that + Standard_ZRS and Premium_LRS accounts only return the blob endpoint. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + primaryLocation: + description: 'PrimaryLocation: Gets the location of the primary data center for the storage account.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified storage account' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Gets the status of the storage account at the time the operation was called.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Allow or disallow public network access to Storage Account. Value is optional but if passed in, + must be 'Enabled' or 'Disabled'. + type: string + routingPreference: + description: 'RoutingPreference: Maintains information about the network routing choice opted by the user for data transfer' + properties: + publishInternetEndpoints: + description: 'PublishInternetEndpoints: A boolean flag which indicates whether internet routing storage endpoints are to be published' + type: boolean + publishMicrosoftEndpoints: + description: 'PublishMicrosoftEndpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published' + type: boolean + routingChoice: + description: 'RoutingChoice: Routing Choice defines the kind of network routing opted by the user.' + type: string + type: object + sasPolicy: + description: 'SasPolicy: SasPolicy assigned to the storage account.' + properties: + expirationAction: + description: 'ExpirationAction: The SAS expiration action. Can only be Log.' + type: string + sasExpirationPeriod: + description: 'SasExpirationPeriod: The SAS expiration period, DD.HH:MM:SS.' + type: string + type: object + secondaryEndpoints: + description: |- + SecondaryEndpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the + secondary location of the storage account. Only available if the SKU name is Standard_RAGRS. + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + internetEndpoints: + description: 'InternetEndpoints: Gets the internet routing storage endpoints' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + microsoftEndpoints: + description: 'MicrosoftEndpoints: Gets the microsoft routing storage endpoints.' + properties: + blob: + description: 'Blob: Gets the blob endpoint.' + type: string + dfs: + description: 'Dfs: Gets the dfs endpoint.' + type: string + file: + description: 'File: Gets the file endpoint.' + type: string + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + queue: + description: 'Queue: Gets the queue endpoint.' + type: string + table: + description: 'Table: Gets the table endpoint.' + type: string + web: + description: 'Web: Gets the web endpoint.' + type: string + type: object + secondaryLocation: + description: |- + SecondaryLocation: Gets the location of the geo-replicated secondary for the storage account. Only available if the + accountType is Standard_GRS or Standard_RAGRS. + type: string + sku: + description: 'Sku: Gets the SKU.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + statusOfPrimary: + description: |- + StatusOfPrimary: Gets the status indicating whether the primary location of the storage account is available or + unavailable. + type: string + statusOfSecondary: + description: |- + StatusOfSecondary: Gets the status indicating whether the secondary location of the storage account is available or + unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. + type: string + storageAccountSkuConversionStatus: + description: |- + StorageAccountSkuConversionStatus: This property is readOnly and is set by server during asynchronous storage account + sku conversion operations. + properties: + endTime: + description: 'EndTime: This property represents the sku conversion end time.' + type: string + skuConversionStatus: + description: 'SkuConversionStatus: This property indicates the current sku conversion status.' + type: string + startTime: + description: 'StartTime: This property represents the sku conversion start time.' + type: string + targetSkuName: + description: 'TargetSkuName: This property represents the target sku name to which the account sku is being converted asynchronously.' + type: string + type: object + supportsHttpsTrafficOnly: + description: 'SupportsHttpsTrafficOnly: Allows https traffic only to storage service if sets to true.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccount + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + allowedCopyScope: + type: string + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20230101.AzureFilesIdentityBasedAuthentication + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20230101.ActiveDirectoryProperties + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountType: + type: string + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + samAccountName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomain: + description: |- + Storage version of v1api20230101.CustomDomain + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + defaultToOAuthAuthentication: + type: boolean + dnsEndpointType: + type: string + encryption: + description: |- + Storage version of v1api20230101.Encryption + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20230101.EncryptionIdentity + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + federatedIdentityClientId: + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: Resource identifier of the UserAssigned identity to be associated with server-side + encryption on the storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20230101.KeyVaultProperties + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20230101.EncryptionServices + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20230101.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + file: + description: |- + Storage version of v1api20230101.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + queue: + description: |- + Storage version of v1api20230101.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + table: + description: |- + Storage version of v1api20230101.EncryptionService + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20230101.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20230101.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20230101.ImmutableStorageAccount + This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + immutabilityPolicy: + description: |- + Storage version of v1api20230101.AccountImmutabilityPolicyProperties + This defines account-level immutability policy properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + type: object + type: object + isHnsEnabled: + type: boolean + isLocalUserEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + isSftpEnabled: + type: boolean + keyPolicy: + description: |- + Storage version of v1api20230101.KeyPolicy + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + location: + type: string + minimumTlsVersion: + type: string + networkAcls: + description: |- + Storage version of v1api20230101.NetworkRuleSet + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230101.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20230101.ResourceAccessRule + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceReference: + description: 'ResourceReference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20230101.VirtualNetworkRule + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + required: + - reference + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230101.StorageAccountOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230101.StorageAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + dfsEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fileEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queueEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tableEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + webEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + routingPreference: + description: |- + Storage version of v1api20230101.RoutingPreference + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20230101.SasPolicy + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + sku: + description: |- + Storage version of v1api20230101.Sku + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230101.StorageAccount_STATUS + The storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + accountMigrationInProgress: + type: boolean + allowBlobPublicAccess: + type: boolean + allowCrossTenantReplication: + type: boolean + allowSharedKeyAccess: + type: boolean + allowedCopyScope: + type: string + azureFilesIdentityBasedAuthentication: + description: |- + Storage version of v1api20230101.AzureFilesIdentityBasedAuthentication_STATUS + Settings for Azure Files identity based authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryProperties: + description: |- + Storage version of v1api20230101.ActiveDirectoryProperties_STATUS + Settings properties for Active Directory (AD). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountType: + type: string + azureStorageSid: + type: string + domainGuid: + type: string + domainName: + type: string + domainSid: + type: string + forestName: + type: string + netBiosDomainName: + type: string + samAccountName: + type: string + type: object + defaultSharePermission: + type: string + directoryServiceOptions: + type: string + type: object + blobRestoreStatus: + description: |- + Storage version of v1api20230101.BlobRestoreStatus_STATUS + Blob restore status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureReason: + type: string + parameters: + description: |- + Storage version of v1api20230101.BlobRestoreParameters_STATUS + Blob restore parameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobRanges: + items: + description: |- + Storage version of v1api20230101.BlobRestoreRange_STATUS + Blob range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endRange: + type: string + startRange: + type: string + type: object + type: array + timeToRestore: + type: string + type: object + restoreId: + type: string + status: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationTime: + type: string + customDomain: + description: |- + Storage version of v1api20230101.CustomDomain_STATUS + The custom domain assigned to this storage account. This can be set via Update. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + useSubDomainName: + type: boolean + type: object + defaultToOAuthAuthentication: + type: boolean + dnsEndpointType: + type: string + encryption: + description: |- + Storage version of v1api20230101.Encryption_STATUS + The encryption settings on the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20230101.EncryptionIdentity_STATUS + Encryption identity for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + federatedIdentityClientId: + type: string + userAssignedIdentity: + type: string + type: object + keySource: + type: string + keyvaultproperties: + description: |- + Storage version of v1api20230101.KeyVaultProperties_STATUS + Properties of key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentVersionedKeyExpirationTimestamp: + type: string + currentVersionedKeyIdentifier: + type: string + keyname: + type: string + keyvaulturi: + type: string + keyversion: + type: string + lastKeyRotationTimestamp: + type: string + type: object + requireInfrastructureEncryption: + type: boolean + services: + description: |- + Storage version of v1api20230101.EncryptionServices_STATUS + A list of services that support encryption. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + description: |- + Storage version of v1api20230101.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + file: + description: |- + Storage version of v1api20230101.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + queue: + description: |- + Storage version of v1api20230101.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + table: + description: |- + Storage version of v1api20230101.EncryptionService_STATUS + A service that allows server-side encryption to be used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyType: + type: string + lastEnabledTime: + type: string + type: object + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20230101.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + failoverInProgress: + type: boolean + geoReplicationStats: + description: |- + Storage version of v1api20230101.GeoReplicationStats_STATUS + Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when + geo-redundant replication is enabled for the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + canFailover: + type: boolean + canPlannedFailover: + type: boolean + lastSyncTime: + type: string + postFailoverRedundancy: + type: string + postPlannedFailoverRedundancy: + type: string + status: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20230101.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230101.UserAssignedIdentity_STATUS + UserAssignedIdentity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20230101.ImmutableStorageAccount_STATUS + This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + immutabilityPolicy: + description: |- + Storage version of v1api20230101.AccountImmutabilityPolicyProperties_STATUS + This defines account-level immutability policy properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + type: object + type: object + isHnsEnabled: + type: boolean + isLocalUserEnabled: + type: boolean + isNfsV3Enabled: + type: boolean + isSftpEnabled: + type: boolean + isSkuConversionBlocked: + type: boolean + keyCreationTime: + description: |- + Storage version of v1api20230101.KeyCreationTime_STATUS + Storage account keys creation time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + type: string + key2: + type: string + type: object + keyPolicy: + description: |- + Storage version of v1api20230101.KeyPolicy_STATUS + KeyPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyExpirationPeriodInDays: + type: integer + type: object + kind: + type: string + largeFileSharesState: + type: string + lastGeoFailoverTime: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + networkAcls: + description: |- + Storage version of v1api20230101.NetworkRuleSet_STATUS + Network rule set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230101.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + resourceAccessRules: + items: + description: |- + Storage version of v1api20230101.ResourceAccessRule_STATUS + Resource Access Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + tenantId: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20230101.VirtualNetworkRule_STATUS + Virtual Network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + id: + type: string + state: + type: string + type: object + type: array + type: object + primaryEndpoints: + description: |- + Storage version of v1api20230101.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20230101.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20230101.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + primaryLocation: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230101.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + routingPreference: + description: |- + Storage version of v1api20230101.RoutingPreference_STATUS + Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user + data, the default option is microsoft routing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publishInternetEndpoints: + type: boolean + publishMicrosoftEndpoints: + type: boolean + routingChoice: + type: string + type: object + sasPolicy: + description: |- + Storage version of v1api20230101.SasPolicy_STATUS + SasPolicy assigned to the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationAction: + type: string + sasExpirationPeriod: + type: string + type: object + secondaryEndpoints: + description: |- + Storage version of v1api20230101.Endpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + internetEndpoints: + description: |- + Storage version of v1api20230101.StorageAccountInternetEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + web: + type: string + type: object + microsoftEndpoints: + description: |- + Storage version of v1api20230101.StorageAccountMicrosoftEndpoints_STATUS + The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing + endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blob: + type: string + dfs: + type: string + file: + type: string + queue: + type: string + table: + type: string + web: + type: string + type: object + queue: + type: string + table: + type: string + web: + type: string + type: object + secondaryLocation: + type: string + sku: + description: |- + Storage version of v1api20230101.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + statusOfPrimary: + type: string + statusOfSecondary: + type: string + storageAccountSkuConversionStatus: + description: |- + Storage version of v1api20230101.StorageAccountSkuConversionStatus_STATUS + This defines the sku conversion status object for asynchronous sku conversions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endTime: + type: string + skuConversionStatus: + type: string + startTime: + type: string + targetSkuName: + type: string + type: object + supportsHttpsTrafficOnly: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsblobservices.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsBlobService + listKind: StorageAccountsBlobServiceList + plural: storageaccountsblobservices + singular: storageaccountsblobservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + maximum: 146000 + minimum: 1 + type: integer + type: object + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + enum: + - AccessTimeTracking + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + required: + - enable + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + required: + - enabled + type: object + required: + - owner + type: object + status: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + lastEnabledTime: + description: 'LastEnabledTime: Deprecated in favor of minRestoreTime property.' + type: string + minRestoreTime: + description: 'MinRestoreTime: Returns the minimum date and time that the restore can be started.' + type: string + type: object + sku: + description: 'Sku: Sku name and tier.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsBlobService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsBlobService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20210401.ChangeFeed + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20210401.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20210401.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20210401.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20210401.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20210401.LastAccessTimeTrackingPolicy + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsBlobServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: |- + Storage version of v1api20210401.RestorePolicyProperties + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsBlobService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20210401.ChangeFeed_STATUS + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20210401.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20210401.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20210401.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20210401.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + id: + type: string + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20210401.LastAccessTimeTrackingPolicy_STATUS + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + name: + type: string + restorePolicy: + description: |- + Storage version of v1api20210401.RestorePolicyProperties_STATUS + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + lastEnabledTime: + type: string + minRestoreTime: + type: string + type: object + sku: + description: |- + Storage version of v1api20210401.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + maximum: 146000 + minimum: 1 + type: integer + type: object + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + enum: + - AccessTimeTracking + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + required: + - enable + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + required: + - enabled + type: object + required: + - owner + type: object + status: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + lastEnabledTime: + description: 'LastEnabledTime: Deprecated in favor of minRestoreTime property.' + type: string + minRestoreTime: + description: 'MinRestoreTime: Returns the minimum date and time that the restore can be started.' + type: string + type: object + sku: + description: 'Sku: Sku name and tier.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsBlobService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsBlobService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20220901.ChangeFeed + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20220901.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20220901.LastAccessTimeTrackingPolicy + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsBlobServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: |- + Storage version of v1api20220901.RestorePolicyProperties + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsBlobService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20220901.ChangeFeed_STATUS + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20220901.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + id: + type: string + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20220901.LastAccessTimeTrackingPolicy_STATUS + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + name: + type: string + restorePolicy: + description: |- + Storage version of v1api20220901.RestorePolicyProperties_STATUS + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + lastEnabledTime: + type: string + minRestoreTime: + type: string + type: object + sku: + description: |- + Storage version of v1api20220901.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + maximum: 146000 + minimum: 1 + type: integer + type: object + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - CONNECT + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + - TRACE + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + enum: + - AccessTimeTracking + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + required: + - enable + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + required: + - enabled + type: object + required: + - owner + type: object + status: + properties: + automaticSnapshotPolicyEnabled: + description: 'AutomaticSnapshotPolicyEnabled: Deprecated in favor of isVersioningEnabled property.' + type: boolean + changeFeed: + description: 'ChangeFeed: The blob service properties for change feed events.' + properties: + enabled: + description: 'Enabled: Indicates whether change feed event logging is enabled for the Blob service.' + type: boolean + retentionInDays: + description: |- + RetentionInDays: Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is + 146000 days (400 years). A null value indicates an infinite retention of the change feed. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: 'ContainerDeleteRetentionPolicy: The blob service properties for container soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + cors: + description: |- + Cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Blob service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + defaultServiceVersion: + description: |- + DefaultServiceVersion: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an + incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. + type: string + deleteRetentionPolicy: + description: 'DeleteRetentionPolicy: The blob service properties for blob soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isVersioningEnabled: + description: 'IsVersioningEnabled: Versioning is enabled if set to true.' + type: boolean + lastAccessTimeTrackingPolicy: + description: 'LastAccessTimeTrackingPolicy: The blob service property to configure last access time based tracking policy.' + properties: + blobType: + description: |- + BlobType: An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently + read only + items: + type: string + type: array + enable: + description: 'Enable: When set to true last access time based tracking is enabled.' + type: boolean + name: + description: 'Name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only' + type: string + trackingGranularityInDays: + description: |- + TrackingGranularityInDays: The field specifies blob object tracking granularity in days, typically how often the blob + object should be tracked.This field is currently read only with value as 1 + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + restorePolicy: + description: 'RestorePolicy: The blob service properties for blob restore policy.' + properties: + days: + description: 'Days: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.' + type: integer + enabled: + description: 'Enabled: Blob restore is enabled if set to true.' + type: boolean + lastEnabledTime: + description: 'LastEnabledTime: Deprecated in favor of minRestoreTime property.' + type: string + minRestoreTime: + description: 'MinRestoreTime: Returns the minimum date and time that the restore can be started.' + type: string + type: object + sku: + description: 'Sku: Sku name and tier.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsBlobService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsBlobService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20230101.ChangeFeed + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20230101.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20230101.LastAccessTimeTrackingPolicy + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsBlobServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restorePolicy: + description: |- + Storage version of v1api20230101.RestorePolicyProperties + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsBlobService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticSnapshotPolicyEnabled: + type: boolean + changeFeed: + description: |- + Storage version of v1api20230101.ChangeFeed_STATUS + The blob service properties for change feed events. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + retentionInDays: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerDeleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + cors: + description: |- + Storage version of v1api20230101.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + defaultServiceVersion: + type: string + deleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + id: + type: string + isVersioningEnabled: + type: boolean + lastAccessTimeTrackingPolicy: + description: |- + Storage version of v1api20230101.LastAccessTimeTrackingPolicy_STATUS + The blob service properties for Last access time based tracking policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobType: + items: + type: string + type: array + enable: + type: boolean + name: + type: string + trackingGranularityInDays: + type: integer + type: object + name: + type: string + restorePolicy: + description: |- + Storage version of v1api20230101.RestorePolicyProperties_STATUS + The blob service properties for blob restore policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + lastEnabledTime: + type: string + minRestoreTime: + type: string + type: object + sku: + description: |- + Storage version of v1api20230101.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsblobservicescontainers.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsBlobServicesContainer + listKind: StorageAccountsBlobServicesContainerList + plural: storageaccountsblobservicescontainers + singular: storageaccountsblobservicescontainer + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + enum: + - Blob + - Container + - None + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + deleted: + description: 'Deleted: Indicates whether the blob container was deleted.' + type: boolean + deletedTime: + description: 'DeletedTime: Blob container deletion time.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + etag: + description: 'Etag: Resource Etag.' + type: string + hasImmutabilityPolicy: + description: |- + HasImmutabilityPolicy: The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been + created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has + not been created for this container. + type: boolean + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + immutabilityPolicy: + description: 'ImmutabilityPolicy: The ImmutabilityPolicy property of the container.' + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for unlocked time-based retention policies. When enabled, + new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API + type: boolean + etag: + description: 'Etag: ImmutabilityPolicy Etag.' + type: string + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + state: + description: 'State: The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.' + type: string + updateHistory: + description: 'UpdateHistory: The ImmutabilityPolicy update history of the blob container.' + items: + description: An update history of the ImmutabilityPolicy of a blob container. + properties: + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who updated the ImmutabilityPolicy.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the ImmutabilityPolicy was updated.' + type: string + update: + description: 'Update: The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy.' + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + migrationState: + description: 'MigrationState: This property denotes the container level immutability to object level immutability migration state.' + type: string + timeStamp: + description: 'TimeStamp: Returns the date and time the object level immutability was enabled.' + type: string + type: object + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the container was last modified.' + type: string + leaseDuration: + description: |- + LeaseDuration: Specifies whether the lease on a container is of infinite or fixed duration, only when the container is + leased. + type: string + leaseState: + description: 'LeaseState: Lease state of the container.' + type: string + leaseStatus: + description: 'LeaseStatus: The lease status of the container.' + type: string + legalHold: + description: 'LegalHold: The LegalHold property of the container.' + properties: + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + tags: + description: 'Tags: The list of LegalHold tags of a blob container.' + items: + description: A tag of the LegalHold of a blob container. + properties: + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who added the tag.' + type: string + tag: + description: 'Tag: The tag value.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who added the tag.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the tag was added.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who added the tag.' + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + type: string + remainingRetentionDays: + description: 'RemainingRetentionDays: Remaining retention days for soft deleted blob container.' + type: integer + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: The version of the deleted blob container.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsBlobServicesContainer + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsBlobServicesContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultEncryptionScope: + type: string + denyEncryptionScopeOverride: + type: boolean + immutableStorageWithVersioning: + description: |- + Storage version of v1api20210401.ImmutableStorageWithVersioning + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsBlobServicesContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsBlobServicesContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + type: string + deleted: + type: boolean + deletedTime: + type: string + denyEncryptionScopeOverride: + type: boolean + etag: + type: string + hasImmutabilityPolicy: + type: boolean + hasLegalHold: + type: boolean + id: + type: string + immutabilityPolicy: + description: |- + Storage version of v1api20210401.ImmutabilityPolicyProperties_STATUS + The properties of an ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + etag: + type: string + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + updateHistory: + items: + description: |- + Storage version of v1api20210401.UpdateHistoryProperty_STATUS + An update history of the ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilityPeriodSinceCreationInDays: + type: integer + objectIdentifier: + type: string + tenantId: + type: string + timestamp: + type: string + update: + type: string + upn: + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20210401.ImmutableStorageWithVersioning_STATUS + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + migrationState: + type: string + timeStamp: + type: string + type: object + lastModifiedTime: + type: string + leaseDuration: + type: string + leaseState: + type: string + leaseStatus: + type: string + legalHold: + description: |- + Storage version of v1api20210401.LegalHoldProperties_STATUS + The LegalHold property of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hasLegalHold: + type: boolean + tags: + items: + description: |- + Storage version of v1api20210401.TagProperty_STATUS + A tag of the LegalHold of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectIdentifier: + type: string + tag: + type: string + tenantId: + type: string + timestamp: + type: string + upn: + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + type: object + name: + type: string + publicAccess: + type: string + remainingRetentionDays: + type: integer + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + enableNfsV3AllSquash: + description: 'EnableNfsV3AllSquash: Enable NFSv3 all squash on blob container.' + type: boolean + enableNfsV3RootSquash: + description: 'EnableNfsV3RootSquash: Enable NFSv3 root squash on blob container.' + type: boolean + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + enum: + - Blob + - Container + - None + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + deleted: + description: 'Deleted: Indicates whether the blob container was deleted.' + type: boolean + deletedTime: + description: 'DeletedTime: Blob container deletion time.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + enableNfsV3AllSquash: + description: 'EnableNfsV3AllSquash: Enable NFSv3 all squash on blob container.' + type: boolean + enableNfsV3RootSquash: + description: 'EnableNfsV3RootSquash: Enable NFSv3 root squash on blob container.' + type: boolean + etag: + description: 'Etag: Resource Etag.' + type: string + hasImmutabilityPolicy: + description: |- + HasImmutabilityPolicy: The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been + created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has + not been created for this container. + type: boolean + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + immutabilityPolicy: + description: 'ImmutabilityPolicy: The ImmutabilityPolicy property of the container.' + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for unlocked time-based retention policies. When enabled, + new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + type: boolean + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: This property can only be changed for unlocked time-based retention policies. When + enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' + properties are mutually exclusive. + type: boolean + etag: + description: 'Etag: ImmutabilityPolicy Etag.' + type: string + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + state: + description: 'State: The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.' + type: string + updateHistory: + description: 'UpdateHistory: The ImmutabilityPolicy update history of the blob container.' + items: + description: An update history of the ImmutabilityPolicy of a blob container. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for unlocked time-based retention policies. When enabled, + new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + type: boolean + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: This property can only be changed for unlocked time-based retention policies. When + enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' + properties are mutually exclusive. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who updated the ImmutabilityPolicy.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the ImmutabilityPolicy was updated.' + type: string + update: + description: 'Update: The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy.' + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + migrationState: + description: 'MigrationState: This property denotes the container level immutability to object level immutability migration state.' + type: string + timeStamp: + description: 'TimeStamp: Returns the date and time the object level immutability was enabled.' + type: string + type: object + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the container was last modified.' + type: string + leaseDuration: + description: |- + LeaseDuration: Specifies whether the lease on a container is of infinite or fixed duration, only when the container is + leased. + type: string + leaseState: + description: 'LeaseState: Lease state of the container.' + type: string + leaseStatus: + description: 'LeaseStatus: The lease status of the container.' + type: string + legalHold: + description: 'LegalHold: The LegalHold property of the container.' + properties: + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + protectedAppendWritesHistory: + description: 'ProtectedAppendWritesHistory: Protected append blob writes history.' + properties: + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining + legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + timestamp: + description: 'Timestamp: Returns the date and time the tag was added.' + type: string + type: object + tags: + description: 'Tags: The list of LegalHold tags of a blob container.' + items: + description: A tag of the LegalHold of a blob container. + properties: + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who added the tag.' + type: string + tag: + description: 'Tag: The tag value.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who added the tag.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the tag was added.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who added the tag.' + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + type: string + remainingRetentionDays: + description: 'RemainingRetentionDays: Remaining retention days for soft deleted blob container.' + type: integer + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: The version of the deleted blob container.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsBlobServicesContainer + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsBlobServicesContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultEncryptionScope: + type: string + denyEncryptionScopeOverride: + type: boolean + enableNfsV3AllSquash: + type: boolean + enableNfsV3RootSquash: + type: boolean + immutableStorageWithVersioning: + description: |- + Storage version of v1api20220901.ImmutableStorageWithVersioning + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsBlobServicesContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsBlobServicesContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + type: string + deleted: + type: boolean + deletedTime: + type: string + denyEncryptionScopeOverride: + type: boolean + enableNfsV3AllSquash: + type: boolean + enableNfsV3RootSquash: + type: boolean + etag: + type: string + hasImmutabilityPolicy: + type: boolean + hasLegalHold: + type: boolean + id: + type: string + immutabilityPolicy: + description: |- + Storage version of v1api20220901.ImmutabilityPolicyProperties_STATUS + The properties of an ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + allowProtectedAppendWritesAll: + type: boolean + etag: + type: string + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + updateHistory: + items: + description: |- + Storage version of v1api20220901.UpdateHistoryProperty_STATUS + An update history of the ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + allowProtectedAppendWritesAll: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + objectIdentifier: + type: string + tenantId: + type: string + timestamp: + type: string + update: + type: string + upn: + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20220901.ImmutableStorageWithVersioning_STATUS + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + migrationState: + type: string + timeStamp: + type: string + type: object + lastModifiedTime: + type: string + leaseDuration: + type: string + leaseState: + type: string + leaseStatus: + type: string + legalHold: + description: |- + Storage version of v1api20220901.LegalHoldProperties_STATUS + The LegalHold property of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hasLegalHold: + type: boolean + protectedAppendWritesHistory: + description: |- + Storage version of v1api20220901.ProtectedAppendWritesHistory_STATUS + Protected append writes history setting for the blob container with Legal holds. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWritesAll: + type: boolean + timestamp: + type: string + type: object + tags: + items: + description: |- + Storage version of v1api20220901.TagProperty_STATUS + A tag of the LegalHold of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectIdentifier: + type: string + tag: + type: string + tenantId: + type: string + timestamp: + type: string + upn: + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + type: object + name: + type: string + publicAccess: + type: string + remainingRetentionDays: + type: integer + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + enableNfsV3AllSquash: + description: 'EnableNfsV3AllSquash: Enable NFSv3 all squash on blob container.' + type: boolean + enableNfsV3RootSquash: + description: 'EnableNfsV3RootSquash: Enable NFSv3 root squash on blob container.' + type: boolean + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + enum: + - Blob + - Container + - None + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + description: 'DefaultEncryptionScope: Default the container to use specified encryption scope for all writes.' + type: string + deleted: + description: 'Deleted: Indicates whether the blob container was deleted.' + type: boolean + deletedTime: + description: 'DeletedTime: Blob container deletion time.' + type: string + denyEncryptionScopeOverride: + description: 'DenyEncryptionScopeOverride: Block override of encryption scope from the container default.' + type: boolean + enableNfsV3AllSquash: + description: 'EnableNfsV3AllSquash: Enable NFSv3 all squash on blob container.' + type: boolean + enableNfsV3RootSquash: + description: 'EnableNfsV3RootSquash: Enable NFSv3 root squash on blob container.' + type: boolean + etag: + description: 'Etag: Resource Etag.' + type: string + hasImmutabilityPolicy: + description: |- + HasImmutabilityPolicy: The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been + created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has + not been created for this container. + type: boolean + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + immutabilityPolicy: + description: 'ImmutabilityPolicy: The ImmutabilityPolicy property of the container.' + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for unlocked time-based retention policies. When enabled, + new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + type: boolean + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: This property can only be changed for unlocked time-based retention policies. When + enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' + properties are mutually exclusive. + type: boolean + etag: + description: 'Etag: ImmutabilityPolicy Etag.' + type: string + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + state: + description: 'State: The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.' + type: string + updateHistory: + description: 'UpdateHistory: The ImmutabilityPolicy update history of the blob container.' + items: + description: An update history of the ImmutabilityPolicy of a blob container. + properties: + allowProtectedAppendWrites: + description: |- + AllowProtectedAppendWrites: This property can only be changed for unlocked time-based retention policies. When enabled, + new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + type: boolean + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: This property can only be changed for unlocked time-based retention policies. When + enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and + compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be + changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' + properties are mutually exclusive. + type: boolean + immutabilityPeriodSinceCreationInDays: + description: |- + ImmutabilityPeriodSinceCreationInDays: The immutability period for the blobs in the container since the policy creation, + in days. + type: integer + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who updated the ImmutabilityPolicy.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the ImmutabilityPolicy was updated.' + type: string + update: + description: 'Update: The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy.' + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + ImmutableStorageWithVersioning: The object level immutability property of the container. The property is immutable and + can only be set to true at the container creation time. Existing containers must undergo a migration process. + properties: + enabled: + description: 'Enabled: This is an immutable property, when set to true it enables object level immutability at the container level.' + type: boolean + migrationState: + description: 'MigrationState: This property denotes the container level immutability to object level immutability migration state.' + type: string + timeStamp: + description: 'TimeStamp: Returns the date and time the object level immutability was enabled.' + type: string + type: object + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the container was last modified.' + type: string + leaseDuration: + description: |- + LeaseDuration: Specifies whether the lease on a container is of infinite or fixed duration, only when the container is + leased. + type: string + leaseState: + description: 'LeaseState: Lease state of the container.' + type: string + leaseStatus: + description: 'LeaseStatus: The lease status of the container.' + type: string + legalHold: + description: 'LegalHold: The LegalHold property of the container.' + properties: + hasLegalHold: + description: |- + HasLegalHold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The + hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a + maximum of 1000 blob containers with hasLegalHold=true for a given account. + type: boolean + protectedAppendWritesHistory: + description: 'ProtectedAppendWritesHistory: Protected append blob writes history.' + properties: + allowProtectedAppendWritesAll: + description: |- + AllowProtectedAppendWritesAll: When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining + legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. + type: boolean + timestamp: + description: 'Timestamp: Returns the date and time the tag was added.' + type: string + type: object + tags: + description: 'Tags: The list of LegalHold tags of a blob container.' + items: + description: A tag of the LegalHold of a blob container. + properties: + objectIdentifier: + description: 'ObjectIdentifier: Returns the Object ID of the user who added the tag.' + type: string + tag: + description: 'Tag: The tag value.' + type: string + tenantId: + description: 'TenantId: Returns the Tenant ID that issued the token for the user who added the tag.' + type: string + timestamp: + description: 'Timestamp: Returns the date and time the tag was added.' + type: string + upn: + description: 'Upn: Returns the User Principal Name of the user who added the tag.' + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the container as metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + publicAccess: + description: 'PublicAccess: Specifies whether data in the container may be accessed publicly and the level of access.' + type: string + remainingRetentionDays: + description: 'RemainingRetentionDays: Remaining retention days for soft deleted blob container.' + type: integer + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: The version of the deleted blob container.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsBlobServicesContainer + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsBlobServicesContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultEncryptionScope: + type: string + denyEncryptionScopeOverride: + type: boolean + enableNfsV3AllSquash: + type: boolean + enableNfsV3RootSquash: + type: boolean + immutableStorageWithVersioning: + description: |- + Storage version of v1api20230101.ImmutableStorageWithVersioning + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsBlobServicesContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsBlobService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicAccess: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsBlobServicesContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultEncryptionScope: + type: string + deleted: + type: boolean + deletedTime: + type: string + denyEncryptionScopeOverride: + type: boolean + enableNfsV3AllSquash: + type: boolean + enableNfsV3RootSquash: + type: boolean + etag: + type: string + hasImmutabilityPolicy: + type: boolean + hasLegalHold: + type: boolean + id: + type: string + immutabilityPolicy: + description: |- + Storage version of v1api20230101.ImmutabilityPolicyProperties_STATUS + The properties of an ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + allowProtectedAppendWritesAll: + type: boolean + etag: + type: string + immutabilityPeriodSinceCreationInDays: + type: integer + state: + type: string + updateHistory: + items: + description: |- + Storage version of v1api20230101.UpdateHistoryProperty_STATUS + An update history of the ImmutabilityPolicy of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWrites: + type: boolean + allowProtectedAppendWritesAll: + type: boolean + immutabilityPeriodSinceCreationInDays: + type: integer + objectIdentifier: + type: string + tenantId: + type: string + timestamp: + type: string + update: + type: string + upn: + type: string + type: object + type: array + type: object + immutableStorageWithVersioning: + description: |- + Storage version of v1api20230101.ImmutableStorageWithVersioning_STATUS + Object level immutability properties of the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + migrationState: + type: string + timeStamp: + type: string + type: object + lastModifiedTime: + type: string + leaseDuration: + type: string + leaseState: + type: string + leaseStatus: + type: string + legalHold: + description: |- + Storage version of v1api20230101.LegalHoldProperties_STATUS + The LegalHold property of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hasLegalHold: + type: boolean + protectedAppendWritesHistory: + description: |- + Storage version of v1api20230101.ProtectedAppendWritesHistory_STATUS + Protected append writes history setting for the blob container with Legal holds. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProtectedAppendWritesAll: + type: boolean + timestamp: + type: string + type: object + tags: + items: + description: |- + Storage version of v1api20230101.TagProperty_STATUS + A tag of the LegalHold of a blob container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectIdentifier: + type: string + tag: + type: string + tenantId: + type: string + timestamp: + type: string + upn: + type: string + type: object + type: array + type: object + metadata: + additionalProperties: + type: string + type: object + name: + type: string + publicAccess: + type: string + remainingRetentionDays: + type: integer + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsfileservices.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsFileService + listKind: StorageAccountsFileServiceList + plural: storageaccountsfileservices + singular: storageaccountsfileservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + File service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocolSettings: + description: 'ProtocolSettings: Protocol settings for file service' + properties: + smb: + description: 'Smb: Setting for SMB protocol' + properties: + authenticationMethods: + description: |- + AuthenticationMethods: SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be + passed as a string with delimiter ';'. + type: string + channelEncryption: + description: |- + ChannelEncryption: SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. + Should be passed as a string with delimiter ';'. + type: string + kerberosTicketEncryption: + description: |- + KerberosTicketEncryption: Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be + passed as a string with delimiter ';' + type: string + multichannel: + description: 'Multichannel: Multichannel setting. Applies to Premium FileStorage only.' + properties: + enabled: + description: 'Enabled: Indicates whether multichannel is enabled' + type: boolean + type: object + versions: + description: |- + Versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a + string with delimiter ';'. + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: 'ShareDeleteRetentionPolicy: The file service properties for share soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + File service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + protocolSettings: + description: 'ProtocolSettings: Protocol settings for file service' + properties: + smb: + description: 'Smb: Setting for SMB protocol' + properties: + authenticationMethods: + description: |- + AuthenticationMethods: SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be + passed as a string with delimiter ';'. + type: string + channelEncryption: + description: |- + ChannelEncryption: SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. + Should be passed as a string with delimiter ';'. + type: string + kerberosTicketEncryption: + description: |- + KerberosTicketEncryption: Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be + passed as a string with delimiter ';' + type: string + multichannel: + description: 'Multichannel: Multichannel setting. Applies to Premium FileStorage only.' + properties: + enabled: + description: 'Enabled: Indicates whether multichannel is enabled' + type: boolean + type: object + versions: + description: |- + Versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a + string with delimiter ';'. + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: 'ShareDeleteRetentionPolicy: The file service properties for share soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + sku: + description: 'Sku: Sku name and tier.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsFileService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsFileService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20220901.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsFileServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocolSettings: + description: |- + Storage version of v1api20220901.ProtocolSettings + Protocol settings for file service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + smb: + description: |- + Storage version of v1api20220901.SmbSetting + Setting for SMB protocol + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationMethods: + type: string + channelEncryption: + type: string + kerberosTicketEncryption: + type: string + multichannel: + description: |- + Storage version of v1api20220901.Multichannel + Multichannel setting. Applies to Premium FileStorage only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + versions: + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsFileService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20220901.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + protocolSettings: + description: |- + Storage version of v1api20220901.ProtocolSettings_STATUS + Protocol settings for file service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + smb: + description: |- + Storage version of v1api20220901.SmbSetting_STATUS + Setting for SMB protocol + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationMethods: + type: string + channelEncryption: + type: string + kerberosTicketEncryption: + type: string + multichannel: + description: |- + Storage version of v1api20220901.Multichannel_STATUS + Multichannel setting. Applies to Premium FileStorage only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + versions: + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: |- + Storage version of v1api20220901.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + sku: + description: |- + Storage version of v1api20220901.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + File service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - CONNECT + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + - TRACE + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocolSettings: + description: 'ProtocolSettings: Protocol settings for file service' + properties: + smb: + description: 'Smb: Setting for SMB protocol' + properties: + authenticationMethods: + description: |- + AuthenticationMethods: SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be + passed as a string with delimiter ';'. + type: string + channelEncryption: + description: |- + ChannelEncryption: SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. + Should be passed as a string with delimiter ';'. + type: string + kerberosTicketEncryption: + description: |- + KerberosTicketEncryption: Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be + passed as a string with delimiter ';' + type: string + multichannel: + description: 'Multichannel: Multichannel setting. Applies to Premium FileStorage only.' + properties: + enabled: + description: 'Enabled: Indicates whether multichannel is enabled' + type: boolean + type: object + versions: + description: |- + Versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a + string with delimiter ';'. + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: 'ShareDeleteRetentionPolicy: The file service properties for share soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + maximum: 365 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + File service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + protocolSettings: + description: 'ProtocolSettings: Protocol settings for file service' + properties: + smb: + description: 'Smb: Setting for SMB protocol' + properties: + authenticationMethods: + description: |- + AuthenticationMethods: SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be + passed as a string with delimiter ';'. + type: string + channelEncryption: + description: |- + ChannelEncryption: SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. + Should be passed as a string with delimiter ';'. + type: string + kerberosTicketEncryption: + description: |- + KerberosTicketEncryption: Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be + passed as a string with delimiter ';' + type: string + multichannel: + description: 'Multichannel: Multichannel setting. Applies to Premium FileStorage only.' + properties: + enabled: + description: 'Enabled: Indicates whether multichannel is enabled' + type: boolean + type: object + versions: + description: |- + Versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a + string with delimiter ';'. + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: 'ShareDeleteRetentionPolicy: The file service properties for share soft delete.' + properties: + allowPermanentDelete: + description: |- + AllowPermanentDelete: This property when set to true allows deletion of the soft deleted blob versions and snapshots. + This property cannot be used blob restore policy. This property only applies to blob service and does not apply to + containers or file share. + type: boolean + days: + description: |- + Days: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and + the maximum value can be 365. + type: integer + enabled: + description: 'Enabled: Indicates whether DeleteRetentionPolicy is enabled.' + type: boolean + type: object + sku: + description: 'Sku: Sku name and tier.' + properties: + name: + description: |- + Name: The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called + accountType. + type: string + tier: + description: 'Tier: The SKU tier. This is based on the SKU name.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsFileService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsFileService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20230101.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsFileServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protocolSettings: + description: |- + Storage version of v1api20230101.ProtocolSettings + Protocol settings for file service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + smb: + description: |- + Storage version of v1api20230101.SmbSetting + Setting for SMB protocol + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationMethods: + type: string + channelEncryption: + type: string + kerberosTicketEncryption: + type: string + multichannel: + description: |- + Storage version of v1api20230101.Multichannel + Multichannel setting. Applies to Premium FileStorage only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + versions: + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsFileService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20230101.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + protocolSettings: + description: |- + Storage version of v1api20230101.ProtocolSettings_STATUS + Protocol settings for file service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + smb: + description: |- + Storage version of v1api20230101.SmbSetting_STATUS + Setting for SMB protocol + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationMethods: + type: string + channelEncryption: + type: string + kerberosTicketEncryption: + type: string + multichannel: + description: |- + Storage version of v1api20230101.Multichannel_STATUS + Multichannel setting. Applies to Premium FileStorage only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + versions: + type: string + type: object + type: object + shareDeleteRetentionPolicy: + description: |- + Storage version of v1api20230101.DeleteRetentionPolicy_STATUS + The service properties for soft delete. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPermanentDelete: + type: boolean + days: + type: integer + enabled: + type: boolean + type: object + sku: + description: |- + Storage version of v1api20230101.Sku_STATUS + The SKU of the storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsfileservicesshares.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsFileServicesShare + listKind: StorageAccountsFileServicesShareList + plural: storageaccountsfileservicesshares + singular: storageaccountsfileservicesshare + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessTier: + description: |- + AccessTier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and + Cool. FileStorage account can choose Premium. + enum: + - Cool + - Hot + - Premium + - TransactionOptimized + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + enabledProtocols: + description: |- + EnabledProtocols: The authentication protocol that is used for the file share. Can only be specified when creating a + share. + enum: + - NFS + - SMB + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the share as metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsFileService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rootSquash: + description: 'RootSquash: The property is for NFS share only. The default is NoRootSquash.' + enum: + - AllSquash + - NoRootSquash + - RootSquash + type: string + shareQuota: + description: |- + ShareQuota: The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). + For Large File Shares, the maximum size is 102400. + maximum: 102400 + minimum: 1 + type: integer + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the share.' + items: + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: List of abbreviated permissions.' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + reference: + description: 'Reference: An unique identifier of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + accessTier: + description: |- + AccessTier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and + Cool. FileStorage account can choose Premium. + type: string + accessTierChangeTime: + description: 'AccessTierChangeTime: Indicates the last modification time for share access tier.' + type: string + accessTierStatus: + description: 'AccessTierStatus: Indicates if there is a pending transition for access tier.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deleted: + description: 'Deleted: Indicates whether the share was deleted.' + type: boolean + deletedTime: + description: 'DeletedTime: The deleted time if the share was deleted.' + type: string + enabledProtocols: + description: |- + EnabledProtocols: The authentication protocol that is used for the file share. Can only be specified when creating a + share. + type: string + etag: + description: 'Etag: Resource Etag.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the share was last modified.' + type: string + leaseDuration: + description: 'LeaseDuration: Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased.' + type: string + leaseState: + description: 'LeaseState: Lease state of the share.' + type: string + leaseStatus: + description: 'LeaseStatus: The lease status of the share.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the share as metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + remainingRetentionDays: + description: 'RemainingRetentionDays: Remaining retention days for share that was soft deleted.' + type: integer + rootSquash: + description: 'RootSquash: The property is for NFS share only. The default is NoRootSquash.' + type: string + shareQuota: + description: |- + ShareQuota: The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). + For Large File Shares, the maximum size is 102400. + type: integer + shareUsageBytes: + description: |- + ShareUsageBytes: The approximate size of the data stored on the share. Note that this value may not include all recently + created or recently resized files. + type: integer + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the share.' + items: + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: List of abbreviated permissions.' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + id: + description: 'Id: An unique identifier of the stored access policy.' + type: string + type: object + type: array + snapshotTime: + description: 'SnapshotTime: Creation time of share snapshot returned in the response of list shares with expand param "snapshots".' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: The version of the share.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsFileServicesShare + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsFileServicesShare_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledProtocols: + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsFileServicesShareOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsFileService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rootSquash: + type: string + shareQuota: + type: integer + signedIdentifiers: + items: + description: Storage version of v1api20220901.SignedIdentifier + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: Storage version of v1api20220901.AccessPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + reference: + description: 'Reference: An unique identifier of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsFileServicesShare_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + accessTierChangeTime: + type: string + accessTierStatus: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deleted: + type: boolean + deletedTime: + type: string + enabledProtocols: + type: string + etag: + type: string + id: + type: string + lastModifiedTime: + type: string + leaseDuration: + type: string + leaseState: + type: string + leaseStatus: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + remainingRetentionDays: + type: integer + rootSquash: + type: string + shareQuota: + type: integer + shareUsageBytes: + type: integer + signedIdentifiers: + items: + description: Storage version of v1api20220901.SignedIdentifier_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: Storage version of v1api20220901.AccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + id: + type: string + type: object + type: array + snapshotTime: + type: string + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessTier: + description: |- + AccessTier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and + Cool. FileStorage account can choose Premium. + enum: + - Cool + - Hot + - Premium + - TransactionOptimized + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + enabledProtocols: + description: |- + EnabledProtocols: The authentication protocol that is used for the file share. Can only be specified when creating a + share. + enum: + - NFS + - SMB + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the share as metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsFileService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rootSquash: + description: 'RootSquash: The property is for NFS share only. The default is NoRootSquash.' + enum: + - AllSquash + - NoRootSquash + - RootSquash + type: string + shareQuota: + description: |- + ShareQuota: The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). + For Large File Shares, the maximum size is 102400. + maximum: 102400 + minimum: 1 + type: integer + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the share.' + items: + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: List of abbreviated permissions.' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + reference: + description: 'Reference: An unique identifier of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + accessTier: + description: |- + AccessTier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and + Cool. FileStorage account can choose Premium. + type: string + accessTierChangeTime: + description: 'AccessTierChangeTime: Indicates the last modification time for share access tier.' + type: string + accessTierStatus: + description: 'AccessTierStatus: Indicates if there is a pending transition for access tier.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deleted: + description: 'Deleted: Indicates whether the share was deleted.' + type: boolean + deletedTime: + description: 'DeletedTime: The deleted time if the share was deleted.' + type: string + enabledProtocols: + description: |- + EnabledProtocols: The authentication protocol that is used for the file share. Can only be specified when creating a + share. + type: string + etag: + description: 'Etag: Resource Etag.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the share was last modified.' + type: string + leaseDuration: + description: 'LeaseDuration: Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased.' + type: string + leaseState: + description: 'LeaseState: Lease state of the share.' + type: string + leaseStatus: + description: 'LeaseStatus: The lease status of the share.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair to associate with the share as metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + remainingRetentionDays: + description: 'RemainingRetentionDays: Remaining retention days for share that was soft deleted.' + type: integer + rootSquash: + description: 'RootSquash: The property is for NFS share only. The default is NoRootSquash.' + type: string + shareQuota: + description: |- + ShareQuota: The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). + For Large File Shares, the maximum size is 102400. + type: integer + shareUsageBytes: + description: |- + ShareUsageBytes: The approximate size of the data stored on the share. Note that this value may not include all recently + created or recently resized files. + type: integer + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the share.' + items: + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: List of abbreviated permissions.' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + id: + description: 'Id: An unique identifier of the stored access policy.' + type: string + type: object + type: array + snapshotTime: + description: 'SnapshotTime: Creation time of share snapshot returned in the response of list shares with expand param "snapshots".' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: The version of the share.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsFileServicesShare + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsFileServicesShare_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledProtocols: + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsFileServicesShareOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsFileService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rootSquash: + type: string + shareQuota: + type: integer + signedIdentifiers: + items: + description: Storage version of v1api20230101.SignedIdentifier + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: Storage version of v1api20230101.AccessPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + reference: + description: 'Reference: An unique identifier of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsFileServicesShare_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessTier: + type: string + accessTierChangeTime: + type: string + accessTierStatus: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deleted: + type: boolean + deletedTime: + type: string + enabledProtocols: + type: string + etag: + type: string + id: + type: string + lastModifiedTime: + type: string + leaseDuration: + type: string + leaseState: + type: string + leaseStatus: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + remainingRetentionDays: + type: integer + rootSquash: + type: string + shareQuota: + type: integer + shareUsageBytes: + type: integer + signedIdentifiers: + items: + description: Storage version of v1api20230101.SignedIdentifier_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: Storage version of v1api20230101.AccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + id: + type: string + type: object + type: array + snapshotTime: + type: string + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsmanagementpolicies.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsManagementPolicy + listKind: StorageAccountsManagementPolicyList + plural: storageaccountsmanagementpolicies + singular: storageaccountsmanagementpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage. Support blobs currently at Hot tier' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage. Support blob snapshot currently at Hot or Cool tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage. Support blob snapshot currently at Hot tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage. Support blob version currently at Hot or Cool tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage. Support blob version currently at Hot tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + maxLength: 128 + minLength: 1 + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + maxLength: 256 + minLength: 0 + type: string + required: + - name + - op + - value + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + required: + - blobTypes + type: object + required: + - actions + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + enum: + - Lifecycle + type: string + required: + - definition + - name + - type + type: object + type: array + required: + - rules + type: object + required: + - owner + - policy + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the ManagementPolicies was last modified.' + type: string + name: + description: 'Name: The name of the resource' + type: string + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage. Support blobs currently at Hot tier' + properties: + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage. Support blob snapshot currently at Hot or Cool tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage. Support blob snapshot currently at Hot tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage. Support blob version currently at Hot or Cool tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage. Support blob version currently at Hot tier' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + type: string + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + type: object + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsManagementPolicy + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsManagementPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsManagementPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Storage version of v1api20210401.ManagementPolicySchema + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20210401.ManagementPolicyRule + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20210401.ManagementPolicyDefinition + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20210401.ManagementPolicyAction + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20210401.ManagementPolicyBaseBlob + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterModification + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterModification + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterModification + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + type: object + snapshot: + description: |- + Storage version of v1api20210401.ManagementPolicySnapShot + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + type: object + version: + description: |- + Storage version of v1api20210401.ManagementPolicyVersion + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterCreation + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20210401.ManagementPolicyFilter + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20210401.TagFilter + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsManagementPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + lastModifiedTime: + type: string + name: + type: string + policy: + description: |- + Storage version of v1api20210401.ManagementPolicySchema_STATUS + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20210401.ManagementPolicyRule_STATUS + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20210401.ManagementPolicyDefinition_STATUS + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20210401.ManagementPolicyAction_STATUS + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20210401.ManagementPolicyBaseBlob_STATUS + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterModification_STATUS + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterModification_STATUS + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterModification_STATUS + Object to define the number of days after object last modification Or last access. Properties + daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + type: object + snapshot: + description: |- + Storage version of v1api20210401.ManagementPolicySnapShot_STATUS + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + type: object + version: + description: |- + Storage version of v1api20210401.ManagementPolicyVersion_STATUS + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20210401.DateAfterCreation_STATUS + Object to define the number of days after creation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20210401.ManagementPolicyFilter_STATUS + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20210401.TagFilter_STATUS + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + maxLength: 128 + minLength: 1 + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + maxLength: 256 + minLength: 0 + type: string + required: + - name + - op + - value + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + required: + - blobTypes + type: object + required: + - actions + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + enum: + - Lifecycle + type: string + required: + - definition + - name + - type + type: object + type: array + required: + - rules + type: object + required: + - owner + - policy + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the ManagementPolicies was last modified.' + type: string + name: + description: 'Name: The name of the resource' + type: string + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + type: string + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + type: object + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsManagementPolicy + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsManagementPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsManagementPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Storage version of v1api20220901.ManagementPolicySchema + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20220901.ManagementPolicyRule + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20220901.ManagementPolicyDefinition + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220901.ManagementPolicyAction + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20220901.ManagementPolicyBaseBlob + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + type: object + snapshot: + description: |- + Storage version of v1api20220901.ManagementPolicySnapShot + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + type: object + version: + description: |- + Storage version of v1api20220901.ManagementPolicyVersion + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20220901.ManagementPolicyFilter + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20220901.TagFilter + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsManagementPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + lastModifiedTime: + type: string + name: + type: string + policy: + description: |- + Storage version of v1api20220901.ManagementPolicySchema_STATUS + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20220901.ManagementPolicyRule_STATUS + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20220901.ManagementPolicyDefinition_STATUS + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220901.ManagementPolicyAction_STATUS + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20220901.ManagementPolicyBaseBlob_STATUS + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + type: object + snapshot: + description: |- + Storage version of v1api20220901.ManagementPolicySnapShot_STATUS + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + type: object + version: + description: |- + Storage version of v1api20220901.ManagementPolicyVersion_STATUS + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20220901.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20220901.ManagementPolicyFilter_STATUS + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20220901.TagFilter_STATUS + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + minimum: 0 + multipleOf: 1 + type: integer + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + minimum: 0 + multipleOf: 1 + type: integer + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + minimum: 0 + multipleOf: 1 + type: integer + required: + - daysAfterCreationGreaterThan + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + maxLength: 128 + minLength: 1 + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + maxLength: 256 + minLength: 0 + type: string + required: + - name + - op + - value + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + required: + - blobTypes + type: object + required: + - actions + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + enum: + - Lifecycle + type: string + required: + - definition + - name + - type + type: object + type: array + required: + - rules + type: object + required: + - owner + - policy + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + lastModifiedTime: + description: 'LastModifiedTime: Returns the date and time the ManagementPolicies was last modified.' + type: string + name: + description: 'Name: The name of the resource' + type: string + policy: + description: |- + Policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + rules: + description: |- + Rules: The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + items: + description: An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + definition: + description: 'Definition: An object that defines the Lifecycle rule.' + properties: + actions: + description: 'Actions: An object that defines the action set.' + properties: + baseBlob: + description: 'BaseBlob: The management policy action for base blob' + properties: + delete: + description: 'Delete: The function to delete the blob' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + enableAutoTierToHotFromCool: + description: |- + EnableAutoTierToHotFromCool: This property enables auto tiering of a blob from cool to hot on a blob access. This + property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + type: boolean + tierToArchive: + description: 'TierToArchive: The function to tier blobs to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blobs to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after blob creation.' + type: number + daysAfterLastAccessTimeGreaterThan: + description: |- + DaysAfterLastAccessTimeGreaterThan: Value indicating the age in days after last blob access. This property can only be + used in conjunction with last access time tracking policy + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based + actions. The blob will be archived if both the conditions are satisfied. + type: number + daysAfterModificationGreaterThan: + description: 'DaysAfterModificationGreaterThan: Value indicating the age in days after last modification' + type: number + type: object + type: object + snapshot: + description: 'Snapshot: The management policy action for snapshot' + properties: + delete: + description: 'Delete: The function to delete the blob snapshot' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob snapshot to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob snapshot to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + type: object + version: + description: 'Version: The management policy action for version' + properties: + delete: + description: 'Delete: The function to delete the blob version' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToArchive: + description: 'TierToArchive: The function to tier blob version to archive storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCold: + description: 'TierToCold: The function to tier blobs to cold storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToCool: + description: 'TierToCool: The function to tier blob version to cool storage.' + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + tierToHot: + description: |- + TierToHot: The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage + Accounts + properties: + daysAfterCreationGreaterThan: + description: 'DaysAfterCreationGreaterThan: Value indicating the age in days after creation' + type: number + daysAfterLastTierChangeGreaterThan: + description: |- + DaysAfterLastTierChangeGreaterThan: Value indicating the age in days after last blob tier change time. This property is + only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob + version based actions. The blob will be archived if both the conditions are satisfied. + type: number + type: object + type: object + type: object + filters: + description: 'Filters: An object that defines the filter set.' + properties: + blobIndexMatch: + description: 'BlobIndexMatch: An array of blob index tag based filters, there can be at most 10 tag filters' + items: + description: Blob index tag based filtering for blob objects + properties: + name: + description: 'Name: This is the filter tag name, it can have 1 - 128 characters' + type: string + op: + description: |- + Op: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is + currently supported + type: string + value: + description: 'Value: This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + type: string + type: object + type: array + blobTypes: + description: |- + BlobTypes: An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete + actions are supported for appendBlob. + items: + type: string + type: array + prefixMatch: + description: 'PrefixMatch: An array of strings for prefixes to be match.' + items: + type: string + type: array + type: object + type: object + enabled: + description: 'Enabled: Rule is enabled if set to true.' + type: boolean + name: + description: |- + Name: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be + unique within a policy. + type: string + type: + description: 'Type: The valid value is Lifecycle' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsManagementPolicy + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsManagementPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsManagementPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policy: + description: |- + Storage version of v1api20230101.ManagementPolicySchema + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230101.ManagementPolicyRule + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20230101.ManagementPolicyDefinition + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20230101.ManagementPolicyAction + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20230101.ManagementPolicyBaseBlob + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterModification + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastAccessTimeGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + daysAfterModificationGreaterThan: + type: integer + type: object + type: object + snapshot: + description: |- + Storage version of v1api20230101.ManagementPolicySnapShot + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + type: object + version: + description: |- + Storage version of v1api20230101.ManagementPolicyVersion + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterCreation + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: integer + daysAfterLastTierChangeGreaterThan: + type: integer + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20230101.ManagementPolicyFilter + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20230101.TagFilter + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsManagementPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + lastModifiedTime: + type: string + name: + type: string + policy: + description: |- + Storage version of v1api20230101.ManagementPolicySchema_STATUS + The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230101.ManagementPolicyRule_STATUS + An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + definition: + description: |- + Storage version of v1api20230101.ManagementPolicyDefinition_STATUS + An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20230101.ManagementPolicyAction_STATUS + Actions are applied to the filtered blobs when the execution condition is met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baseBlob: + description: |- + Storage version of v1api20230101.ManagementPolicyBaseBlob_STATUS + Management policy action for base blob. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + enableAutoTierToHotFromCool: + type: boolean + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterModification_STATUS + Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, + daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The + daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires + daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with + daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastAccessTimeGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + daysAfterModificationGreaterThan: + type: number + type: object + type: object + snapshot: + description: |- + Storage version of v1api20230101.ManagementPolicySnapShot_STATUS + Management policy action for snapshot. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + type: object + version: + description: |- + Storage version of v1api20230101.ManagementPolicyVersion_STATUS + Management policy action for blob version. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delete: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToArchive: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCold: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToCool: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + tierToHot: + description: |- + Storage version of v1api20230101.DateAfterCreation_STATUS + Object to define snapshot and version action conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + daysAfterCreationGreaterThan: + type: number + daysAfterLastTierChangeGreaterThan: + type: number + type: object + type: object + type: object + filters: + description: |- + Storage version of v1api20230101.ManagementPolicyFilter_STATUS + Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical + AND is performed on all filters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobIndexMatch: + items: + description: |- + Storage version of v1api20230101.TagFilter_STATUS + Blob index tag based filtering for blob objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + op: + type: string + value: + type: string + type: object + type: array + blobTypes: + items: + type: string + type: array + prefixMatch: + items: + type: string + type: array + type: object + type: object + enabled: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsqueueservices.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsQueueService + listKind: StorageAccountsQueueServiceList + plural: storageaccountsqueueservices + singular: storageaccountsqueueservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsQueueService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsQueueService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20210401.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20210401.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsQueueServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsQueueService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20210401.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20210401.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsQueueService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsQueueService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20220901.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsQueueServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsQueueService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20220901.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - CONNECT + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + - TRACE + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Queue service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsQueueService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsQueueService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20230101.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsQueueServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsQueueService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20230101.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountsqueueservicesqueues.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsQueueServicesQueue + listKind: StorageAccountsQueueServicesQueueList + plural: storageaccountsqueueservicesqueues + singular: storageaccountsqueueservicesqueue + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + approximateMessageCount: + description: |- + ApproximateMessageCount: Integer indicating an approximate number of messages in the queue. This number is not lower + than the actual number of messages in the queue, but could be higher. + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsQueueServicesQueue + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsQueueServicesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approximateMessageCount: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + approximateMessageCount: + description: |- + ApproximateMessageCount: Integer indicating an approximate number of messages in the queue. This number is not lower + than the actual number of messages in the queue, but could be higher. + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsQueueServicesQueue + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsQueueServicesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approximateMessageCount: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + approximateMessageCount: + description: |- + ApproximateMessageCount: Integer indicating an approximate number of messages in the queue. This number is not lower + than the actual number of messages in the queue, but could be higher. + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsQueueServicesQueue + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsQueueServicesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approximateMessageCount: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountstableservices.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsTableService + listKind: StorageAccountsTableServiceList + plural: storageaccountstableservices + singular: storageaccountstableservice + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsTableService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsTableService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20220901.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsTableServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsTableService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20220901.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + cors: + description: |- + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - CONNECT + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + - TRACE + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsTableService + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsTableService_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cors: + description: |- + Storage version of v1api20230101.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsTableServiceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsTableService_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + cors: + description: |- + Storage version of v1api20230101.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: storageaccountstableservicestables.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsTableServicesTable + listKind: StorageAccountsTableServicesTableList + plural: storageaccountstableservicestables + singular: storageaccountstableservicestable + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[A-Za-z][A-Za-z0-9]{2,62}$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsTableService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + required: + - permission + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + id: + description: 'Id: unique-64-character-value of the stored access policy.' + type: string + type: object + type: array + tableName: + description: 'TableName: Table name under the specified account' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220901.StorageAccountsTableServicesTable + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220901.StorageAccountsTableServicesTable_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20220901.StorageAccountsTableServicesTableOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsTableService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + signedIdentifiers: + items: + description: |- + Storage version of v1api20220901.TableSignedIdentifier + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20220901.TableAccessPolicy + Table Access Policy Properties Object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20220901.StorageAccountsTableServicesTable_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + signedIdentifiers: + items: + description: |- + Storage version of v1api20220901.TableSignedIdentifier_STATUS + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20220901.TableAccessPolicy_STATUS + Table Access Policy Properties Object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + id: + type: string + type: object + type: array + tableName: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[A-Za-z][A-Za-z0-9]{2,62}$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsTableService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + required: + - permission + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + id: + description: 'Id: unique-64-character-value of the stored access policy.' + type: string + type: object + type: array + tableName: + description: 'TableName: Table name under the specified account' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.StorageAccountsTableServicesTable + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.StorageAccountsTableServicesTable_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230101.StorageAccountsTableServicesTableOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsTableService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + signedIdentifiers: + items: + description: |- + Storage version of v1api20230101.TableSignedIdentifier + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20230101.TableAccessPolicy + Table Access Policy Properties Object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230101.StorageAccountsTableServicesTable_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + signedIdentifiers: + items: + description: |- + Storage version of v1api20230101.TableSignedIdentifier_STATUS + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20230101.TableAccessPolicy_STATUS + Table Access Policy Properties Object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + id: + type: string + type: object + type: array + tableName: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: subscriptions.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Subscription + listKind: SubscriptionList + plural: subscriptions + singular: subscription + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing can be enabled' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Subscription name.' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: 'PrimaryKey: Primary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + secondaryKey: + description: 'SecondaryKey: Secondary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + description: |- + State: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible + states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber + cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has + not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * + cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription + reached its expiration date and was deactivated. + enum: + - active + - cancelled + - expired + - rejected + - submitted + - suspended + type: string + required: + - displayName + - owner + - scope + type: object + status: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing is enabled' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + description: |- + CreatedDate: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified + by the ISO 8601 standard. + type: string + displayName: + description: 'DisplayName: The name of the subscription, or null if the subscription has no name.' + type: string + endDate: + description: |- + EndDate: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is + not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms + to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + expirationDate: + description: |- + ExpirationDate: Subscription expiration date. The setting is for audit purposes only and the subscription is not + automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the + following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + notificationDate: + description: |- + NotificationDate: Upcoming subscription expiration notification date. The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + ownerId: + description: |- + OwnerId: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of + /users/{userId} where {userId} is a user identifier. + type: string + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + startDate: + description: |- + StartDate: Subscription activation date. The setting is for audit purposes only and the subscription is not + automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to + the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + state: + description: |- + State: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription + is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been + made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been + denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * + expired – the subscription reached its expiration date and was deactivated. + type: string + stateComment: + description: 'StateComment: Optional subscription comment added by an administrator when the state is changed to the ''rejected''.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Subscription + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Subscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.SubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220801.SubscriptionOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + type: string + secondaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Subscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + type: string + displayName: + type: string + endDate: + type: string + expirationDate: + type: string + id: + type: string + name: + type: string + notificationDate: + type: string + ownerId: + type: string + scope: + type: string + startDate: + type: string + state: + type: string + stateComment: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing can be enabled' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Subscription name.' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: 'PrimaryKey: Primary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + secondaryKey: + description: 'SecondaryKey: Secondary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + description: |- + State: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible + states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber + cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has + not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * + cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription + reached its expiration date and was deactivated. + enum: + - active + - cancelled + - expired + - rejected + - submitted + - suspended + type: string + required: + - displayName + - owner + - scope + type: object + status: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing is enabled' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + description: |- + CreatedDate: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified + by the ISO 8601 standard. + type: string + displayName: + description: 'DisplayName: The name of the subscription, or null if the subscription has no name.' + type: string + endDate: + description: |- + EndDate: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is + not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms + to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + expirationDate: + description: |- + ExpirationDate: Subscription expiration date. The setting is for audit purposes only and the subscription is not + automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the + following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + notificationDate: + description: |- + NotificationDate: Upcoming subscription expiration notification date. The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + ownerId: + description: |- + OwnerId: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of + /users/{userId} where {userId} is a user identifier. + type: string + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + startDate: + description: |- + StartDate: Subscription activation date. The setting is for audit purposes only and the subscription is not + automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to + the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + state: + description: |- + State: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription + is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been + made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been + denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * + expired – the subscription reached its expiration date and was deactivated. + type: string + stateComment: + description: 'StateComment: Optional subscription comment added by an administrator when the state is changed to the ''rejected''.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Subscription + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Subscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.SubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230501preview.SubscriptionOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + type: string + secondaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Subscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + type: string + displayName: + type: string + endDate: + type: string + expirationDate: + type: string + id: + type: string + name: + type: string + notificationDate: + type: string + ownerId: + type: string + scope: + type: string + startDate: + type: string + state: + type: string + stateComment: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing can be enabled' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Subscription name.' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: 'PrimaryKey: Primary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + secondaryKey: + description: 'SecondaryKey: Secondary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + description: |- + State: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible + states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber + cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has + not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * + cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription + reached its expiration date and was deactivated. + enum: + - active + - cancelled + - expired + - rejected + - submitted + - suspended + type: string + required: + - displayName + - owner + - scope + type: object + status: + properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing is enabled' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + description: |- + CreatedDate: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified + by the ISO 8601 standard. + type: string + displayName: + description: 'DisplayName: The name of the subscription, or null if the subscription has no name.' + type: string + endDate: + description: |- + EndDate: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is + not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms + to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + expirationDate: + description: |- + ExpirationDate: Subscription expiration date. The setting is for audit purposes only and the subscription is not + automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the + following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + notificationDate: + description: |- + NotificationDate: Upcoming subscription expiration notification date. The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + ownerId: + description: |- + OwnerId: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of + /users/{userId} where {userId} is a user identifier. + type: string + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + startDate: + description: |- + StartDate: Subscription activation date. The setting is for audit purposes only and the subscription is not + automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to + the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + state: + description: |- + State: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription + is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been + made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been + denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * + expired – the subscription reached its expiration date and was deactivated. + type: string + stateComment: + description: 'StateComment: Optional subscription comment added by an administrator when the state is changed to the ''rejected''.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240501.Subscription + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240501.Subscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240501.SubscriptionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240501.SubscriptionOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + type: string + secondaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240501.Subscription_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowTracing: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + type: string + displayName: + type: string + endDate: + type: string + expirationDate: + type: string + id: + type: string + name: + type: string + notificationDate: + type: string + ownerId: + type: string + scope: + type: string + startDate: + type: string + state: + type: string + stateComment: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: topicauthorizationrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: TopicAuthorizationRule + listKind: TopicAuthorizationRuleList + plural: topicauthorizationrules + singular: topicauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.TopicAuthorizationRule + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.TopicAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.TopicAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/NamespacesTopic resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20240101.TopicAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: topics.eventgrid.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventgrid.azure.com + names: + categories: + - azure + - eventgrid + kind: Topic + listKind: TopicList + plural: topics + singular: topic + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + inboundIpRules: + description: |- + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. + items: + properties: + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + enum: + - Allow + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' + type: string + type: object + type: array + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the topic.' + enum: + - CloudEventSchemaV1_0 + - CustomEventSchema + - EventGridSchema + type: string + inputSchemaMapping: + description: |- + InputSchemaMapping: This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map + various properties of a source schema to various required properties of the EventGridEvent schema. + properties: + json: + description: 'Json: Mutually exclusive with all other properties' + properties: + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' + enum: + - Json + type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + required: + - inputSchemaMappingType + type: object + type: object + location: + description: 'Location: Location of the resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the resource.' + type: object + required: + - location + - owner + type: object + status: + description: EventGrid Topic + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpoint: + description: 'Endpoint: Endpoint for the topic.' + type: string + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + inboundIpRules: + description: |- + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. + items: + properties: + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' + type: string + type: object + type: array + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the topic.' + type: string + inputSchemaMapping: + description: |- + InputSchemaMapping: This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map + various properties of a source schema to various required properties of the EventGridEvent schema. + properties: + json: + description: 'Json: Mutually exclusive with all other properties' + properties: + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' + type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + type: object + type: object + location: + description: 'Location: Location of the resource.' + type: string + metricResourceId: + description: 'MetricResourceId: Metric resource id for the topic.' + type: string + name: + description: 'Name: Name of the resource.' + type: string + privateEndpointConnections: + items: + properties: + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the topic.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring + type: string + systemData: + description: 'SystemData: The system metadata relating to Topic resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags of the resource.' + type: object + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.Topic + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.Topic_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + inboundIpRules: + items: + description: Storage version of v1api20200601.InboundIpRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ipMask: + type: string + type: object + type: array + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: + type: string + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + topic: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + type: object + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.TopicOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20200601.TopicOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20200601.TopicOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200601.Topic_STATUS + EventGrid Topic + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endpoint: + type: string + id: + type: string + inboundIpRules: + items: + description: Storage version of v1api20200601.InboundIpRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ipMask: + type: string + type: object + type: array + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: + type: string + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + topic: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + type: object + type: object + location: + type: string + metricResourceId: + type: string + name: + type: string + privateEndpointConnections: + items: + description: Storage version of v1api20200601.PrivateEndpointConnection_STATUS_Topic_SubResourceEmbedded + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: trafficmanagerprofiles.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: TrafficManagerProfile + listKind: TrafficManagerProfileList + plural: trafficmanagerprofiles + singular: trafficmanagerprofile + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowedEndpointRecordTypes: + description: 'AllowedEndpointRecordTypes: The list of allowed endpoint record types.' + items: + description: The allowed type DNS record types for this profile. + enum: + - Any + - DomainName + - IPv4Address + - IPv6Address + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsConfig: + description: 'DnsConfig: The DNS settings of the Traffic Manager profile.' + properties: + relativeName: + description: |- + RelativeName: The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain + name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. + type: string + ttl: + description: |- + Ttl: The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS + responses provided by this Traffic Manager profile. + type: integer + type: object + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxReturn: + description: 'MaxReturn: Maximum number of endpoints to be returned for MultiValue routing type.' + type: integer + monitorConfig: + description: 'MonitorConfig: The endpoint monitoring settings of the Traffic Manager profile.' + properties: + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + expectedStatusCodeRanges: + description: 'ExpectedStatusCodeRanges: List of expected status code ranges.' + items: + properties: + max: + description: 'Max: Max status code.' + type: integer + min: + description: 'Min: Min status code.' + type: integer + type: object + type: array + intervalInSeconds: + description: |- + IntervalInSeconds: The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager + will check the health of each endpoint in this profile. + type: integer + path: + description: 'Path: The path relative to the endpoint domain name used to probe for endpoint health.' + type: string + port: + description: 'Port: The TCP port used to probe for endpoint health.' + type: integer + profileMonitorStatus: + description: 'ProfileMonitorStatus: The profile-level monitoring status of the Traffic Manager profile.' + enum: + - CheckingEndpoints + - Degraded + - Disabled + - Inactive + - Online + type: string + protocol: + description: 'Protocol: The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.' + enum: + - HTTP + - HTTPS + - TCP + type: string + timeoutInSeconds: + description: |- + TimeoutInSeconds: The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows + endpoints in this profile to response to the health check. + type: integer + toleratedNumberOfFailures: + description: |- + ToleratedNumberOfFailures: The number of consecutive failed health check that Traffic Manager tolerates before declaring + an endpoint in this profile Degraded after the next failed health check. + type: integer + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + dnsConfigFqdn: + description: 'DnsConfigFqdn: indicates where the DnsConfigFqdn config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + profileStatus: + description: 'ProfileStatus: The status of the Traffic Manager profile.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trafficRoutingMethod: + description: 'TrafficRoutingMethod: The traffic routing method of the Traffic Manager profile.' + enum: + - Geographic + - MultiValue + - Performance + - Priority + - Subnet + - Weighted + type: string + trafficViewEnrollmentStatus: + description: |- + TrafficViewEnrollmentStatus: Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. + Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile. + enum: + - Disabled + - Enabled + type: string + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + required: + - owner + type: object + status: + properties: + allowedEndpointRecordTypes: + description: 'AllowedEndpointRecordTypes: The list of allowed endpoint record types.' + items: + description: The allowed type DNS record types for this profile. + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsConfig: + description: 'DnsConfig: The DNS settings of the Traffic Manager profile.' + properties: + fqdn: + description: |- + Fqdn: The fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of + the RelativeName with the DNS domain used by Azure Traffic Manager. + type: string + relativeName: + description: |- + RelativeName: The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain + name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. + type: string + ttl: + description: |- + Ttl: The DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS + responses provided by this Traffic Manager profile. + type: integer + type: object + endpoints: + description: 'Endpoints: The list of endpoints in the Traffic Manager profile.' + items: + description: Class representing a Traffic Manager endpoint. + properties: + id: + description: |- + Id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} + type: string + type: object + type: array + id: + description: |- + Id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxReturn: + description: 'MaxReturn: Maximum number of endpoints to be returned for MultiValue routing type.' + type: integer + monitorConfig: + description: 'MonitorConfig: The endpoint monitoring settings of the Traffic Manager profile.' + properties: + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + expectedStatusCodeRanges: + description: 'ExpectedStatusCodeRanges: List of expected status code ranges.' + items: + properties: + max: + description: 'Max: Max status code.' + type: integer + min: + description: 'Min: Min status code.' + type: integer + type: object + type: array + intervalInSeconds: + description: |- + IntervalInSeconds: The monitor interval for endpoints in this profile. This is the interval at which Traffic Manager + will check the health of each endpoint in this profile. + type: integer + path: + description: 'Path: The path relative to the endpoint domain name used to probe for endpoint health.' + type: string + port: + description: 'Port: The TCP port used to probe for endpoint health.' + type: integer + profileMonitorStatus: + description: 'ProfileMonitorStatus: The profile-level monitoring status of the Traffic Manager profile.' + type: string + protocol: + description: 'Protocol: The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health.' + type: string + timeoutInSeconds: + description: |- + TimeoutInSeconds: The monitor timeout for endpoints in this profile. This is the time that Traffic Manager allows + endpoints in this profile to response to the health check. + type: integer + toleratedNumberOfFailures: + description: |- + ToleratedNumberOfFailures: The number of consecutive failed health check that Traffic Manager tolerates before declaring + an endpoint in this profile Degraded after the next failed health check. + type: integer + type: object + name: + description: 'Name: The name of the resource' + type: string + profileStatus: + description: 'ProfileStatus: The status of the Traffic Manager profile.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trafficRoutingMethod: + description: 'TrafficRoutingMethod: The traffic routing method of the Traffic Manager profile.' + type: string + trafficViewEnrollmentStatus: + description: |- + TrafficViewEnrollmentStatus: Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. + Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile. + type: string + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.TrafficManagerProfile + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.TrafficManagerProfile_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedEndpointRecordTypes: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsConfig: + description: |- + Storage version of v1api20220401.DnsConfig + Class containing DNS settings in a Traffic Manager profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + relativeName: + type: string + ttl: + type: integer + type: object + location: + type: string + maxReturn: + type: integer + monitorConfig: + description: |- + Storage version of v1api20220401.MonitorConfig + Class containing endpoint monitoring settings in a Traffic Manager profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customHeaders: + items: + description: Storage version of v1api20220401.MonitorConfig_CustomHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + expectedStatusCodeRanges: + items: + description: Storage version of v1api20220401.MonitorConfig_ExpectedStatusCodeRanges + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + intervalInSeconds: + type: integer + path: + type: string + port: + type: integer + profileMonitorStatus: + type: string + protocol: + type: string + timeoutInSeconds: + type: integer + toleratedNumberOfFailures: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20220401.TrafficManagerProfileOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220401.TrafficManagerProfileOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsConfigFqdn: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + profileStatus: + type: string + tags: + additionalProperties: + type: string + type: object + trafficRoutingMethod: + type: string + trafficViewEnrollmentStatus: + type: string + type: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220401.TrafficManagerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedEndpointRecordTypes: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dnsConfig: + description: |- + Storage version of v1api20220401.DnsConfig_STATUS + Class containing DNS settings in a Traffic Manager profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + relativeName: + type: string + ttl: + type: integer + type: object + endpoints: + items: + description: |- + Storage version of v1api20220401.Endpoint_STATUS + Class representing a Traffic Manager endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + location: + type: string + maxReturn: + type: integer + monitorConfig: + description: |- + Storage version of v1api20220401.MonitorConfig_STATUS + Class containing endpoint monitoring settings in a Traffic Manager profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customHeaders: + items: + description: Storage version of v1api20220401.MonitorConfig_CustomHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + expectedStatusCodeRanges: + items: + description: Storage version of v1api20220401.MonitorConfig_ExpectedStatusCodeRanges_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + intervalInSeconds: + type: integer + path: + type: string + port: + type: integer + profileMonitorStatus: + type: string + protocol: + type: string + timeoutInSeconds: + type: integer + toleratedNumberOfFailures: + type: integer + type: object + name: + type: string + profileStatus: + type: string + tags: + additionalProperties: + type: string + type: object + trafficRoutingMethod: + type: string + trafficViewEnrollmentStatus: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: trafficmanagerprofilesazureendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: TrafficManagerProfilesAzureEndpoint + listKind: TrafficManagerProfilesAzureEndpointList + plural: trafficmanagerprofilesazureendpoints + singular: trafficmanagerprofilesazureendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/AzureEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + enum: + - Disabled + - Enabled + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + enum: + - CheckingEndpoint + - Degraded + - Disabled + - Inactive + - Online + - Stopped + - Unmonitored + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + enum: + - Disabled + - Enabled + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + required: + - owner + type: object + status: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} + type: string + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + name: + description: 'Name: The name of the resource' + type: string + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceId: + description: 'TargetResourceId: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type ''ExternalEndpoints''.' + type: string + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesAzureEndpoint + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/AzureEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.TrafficManagerProfilesAzureEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + operatorSpec: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesAzureEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + weight: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20220401.TrafficManagerProfilesAzureEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + id: + type: string + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + name: + type: string + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceId: + type: string + type: + type: string + weight: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: trafficmanagerprofilesexternalendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: TrafficManagerProfilesExternalEndpoint + listKind: TrafficManagerProfilesExternalEndpointList + plural: trafficmanagerprofilesexternalendpoints + singular: trafficmanagerprofilesexternalendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/ExternalEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + enum: + - Disabled + - Enabled + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + enum: + - CheckingEndpoint + - Degraded + - Disabled + - Inactive + - Online + - Stopped + - Unmonitored + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + enum: + - Disabled + - Enabled + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + required: + - owner + type: object + status: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} + type: string + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + name: + description: 'Name: The name of the resource' + type: string + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceId: + description: 'TargetResourceId: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type ''ExternalEndpoints''.' + type: string + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesExternalEndpoint + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/ExternalEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.TrafficManagerProfilesExternalEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + operatorSpec: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesExternalEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + weight: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20220401.TrafficManagerProfilesExternalEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + id: + type: string + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + name: + type: string + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceId: + type: string + type: + type: string + weight: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: trafficmanagerprofilesnestedendpoints.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: TrafficManagerProfilesNestedEndpoint + listKind: TrafficManagerProfilesNestedEndpointList + plural: trafficmanagerprofilesnestedendpoints + singular: trafficmanagerprofilesnestedendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/NestedEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + enum: + - Disabled + - Enabled + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + enum: + - CheckingEndpoint + - Degraded + - Disabled + - Inactive + - Online + - Stopped + - Unmonitored + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + enum: + - Disabled + - Enabled + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + required: + - owner + type: object + status: + properties: + alwaysServe: + description: |- + AlwaysServe: If Always Serve is enabled, probing for endpoint health will be disabled and endpoints will be included in + the traffic routing method. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + description: 'CustomHeaders: List of custom headers.' + items: + properties: + name: + description: 'Name: Header name.' + type: string + value: + description: 'Value: Header value.' + type: string + type: object + type: array + endpointLocation: + description: |- + EndpointLocation: Specifies the location of the external or nested endpoints when using the 'Performance' traffic + routing method. + type: string + endpointMonitorStatus: + description: 'EndpointMonitorStatus: The monitoring status of the endpoint.' + type: string + endpointStatus: + description: |- + EndpointStatus: The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included + in the traffic routing method. + type: string + geoMapping: + description: |- + GeoMapping: The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + Please consult Traffic Manager Geographic documentation for a full list of accepted values. + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName} + type: string + minChildEndpoints: + description: |- + MinChildEndpoints: The minimum number of endpoints that must be available in the child profile in order for the parent + profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'. + type: integer + minChildEndpointsIPv4: + description: |- + MinChildEndpointsIPv4: The minimum number of IPv4 (DNS record type A) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + minChildEndpointsIPv6: + description: |- + MinChildEndpointsIPv6: The minimum number of IPv6 (DNS record type AAAA) endpoints that must be available in the child + profile in order for the parent profile to be considered available. Only applicable to endpoint of type + 'NestedEndpoints'. + type: integer + name: + description: 'Name: The name of the resource' + type: string + priority: + description: |- + Priority: The priority of this endpoint when using the 'Priority' traffic routing method. Possible values are from 1 to + 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all + endpoints, and no two endpoints can share the same priority value. + type: integer + subnets: + description: |- + Subnets: The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' + traffic routing method. An empty list will match all ranges not covered by other endpoints. + items: + properties: + first: + description: 'First: First address in the subnet.' + type: string + last: + description: 'Last: Last address in the subnet.' + type: string + scope: + description: 'Scope: Block size (number of leading bits in the subnet mask).' + type: integer + type: object + type: array + target: + description: |- + Target: The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses + to direct traffic to this endpoint. + type: string + targetResourceId: + description: 'TargetResourceId: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type ''ExternalEndpoints''.' + type: string + type: + description: 'Type: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.' + type: string + weight: + description: 'Weight: The weight of this endpoint when using the ''Weighted'' traffic routing method. Possible values are from 1 to 1000.' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesNestedEndpoint + Generator information: + - Generated from: /trafficmanager/resource-manager/Microsoft.Network/stable/2022-04-01/trafficmanager.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/NestedEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220401.TrafficManagerProfilesNestedEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + operatorSpec: + description: |- + Storage version of v1api20220401.TrafficManagerProfilesNestedEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/TrafficManagerProfile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceReference: + description: |- + TargetResourceReference: The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type + 'ExternalEndpoints'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + weight: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20220401.TrafficManagerProfilesNestedEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alwaysServe: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customHeaders: + items: + description: Storage version of v1api20220401.EndpointProperties_CustomHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + endpointLocation: + type: string + endpointMonitorStatus: + type: string + endpointStatus: + type: string + geoMapping: + items: + type: string + type: array + id: + type: string + minChildEndpoints: + type: integer + minChildEndpointsIPv4: + type: integer + minChildEndpointsIPv6: + type: integer + name: + type: string + priority: + type: integer + subnets: + items: + description: Storage version of v1api20220401.EndpointProperties_Subnets_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + first: + type: string + last: + type: string + scope: + type: integer + type: object + type: array + target: + type: string + targetResourceId: + type: string + type: + type: string + weight: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: trustedaccessrolebindings.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: TrustedAccessRoleBinding + listKind: TrustedAccessRoleBindingList + plural: trustedaccessrolebindings + singular: trustedaccessrolebinding + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 1 + pattern: ^([A-Za-z0-9-])+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - roles + - sourceResourceReference + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The current provisioning state of trusted access role binding.' + type: string + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceId: + description: 'SourceResourceId: The ARM resource ID of source resource that trusted access is configured for.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231001.TrustedAccessRoleBinding + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231001.TrustedAccessRoleBinding_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231001.TrustedAccessRoleBindingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - sourceResourceReference + type: object + status: + description: Storage version of v1api20231001.TrustedAccessRoleBinding_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + provisioningState: + type: string + roles: + items: + type: string + type: array + sourceResourceId: + type: string + systemData: + description: |- + Storage version of v1api20231001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 1 + pattern: ^([A-Za-z0-9-])+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - roles + - sourceResourceReference + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The current provisioning state of trusted access role binding.' + type: string + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceId: + description: 'SourceResourceId: The ARM resource ID of source resource that trusted access is configured for.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240402preview.TrustedAccessRoleBinding + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240402preview.TrustedAccessRoleBinding_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240402preview.TrustedAccessRoleBindingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - sourceResourceReference + type: object + status: + description: Storage version of v1api20240402preview.TrustedAccessRoleBinding_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + provisioningState: + type: string + roles: + items: + type: string + type: array + sourceResourceId: + type: string + systemData: + description: |- + Storage version of v1api20240402preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 1 + pattern: ^([A-Za-z0-9-])+$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - roles + - sourceResourceReference + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The current provisioning state of trusted access role binding.' + type: string + roles: + description: |- + Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + 'Microsoft.MachineLearningServices/workspaces/reader'. + items: + type: string + type: array + sourceResourceId: + description: 'SourceResourceId: The ARM resource ID of source resource that trusted access is configured for.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240901.TrustedAccessRoleBinding + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240901.TrustedAccessRoleBinding_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240901.TrustedAccessRoleBindingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + items: + type: string + type: array + sourceResourceReference: + description: 'SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + - sourceResourceReference + type: object + status: + description: Storage version of v1api20240901.TrustedAccessRoleBinding_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + provisioningState: + type: string + roles: + items: + type: string + type: array + sourceResourceId: + type: string + systemData: + description: |- + Storage version of v1api20240901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: userassignedidentities.managedidentity.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: managedidentity.azure.com + names: + categories: + - azure + - managedidentity + kind: UserAssignedIdentity + listKind: UserAssignedIdentityList + plural: userassignedidentities + singular: userassignedidentity + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20181130 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2018-11-30/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + clientId: + description: 'ClientId: indicates where the ClientId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: indicates where the TenantId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + clientId: + description: 'ClientId: The id of the app associated with the identity. This is a random generated UUID by MSI.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + principalId: + description: 'PrincipalId: The id of the service principal object associated with the created identity.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantId: + description: 'TenantId: The id of the tenant which the identity belongs to.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20181130storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20181130.UserAssignedIdentity + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2018-11-30/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20181130.UserAssignedIdentity_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20181130.UserAssignedIdentityOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20181130.UserAssignedIdentityOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20181130.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + principalId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230131 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + clientId: + description: 'ClientId: indicates where the ClientId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: indicates where the TenantId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + clientId: + description: 'ClientId: indicates where the ClientId secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + PrincipalId: indicates where the PrincipalId secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: indicates where the TenantId secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + clientId: + description: 'ClientId: The id of the app associated with the identity. This is a random generated UUID by MSI.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + principalId: + description: 'PrincipalId: The id of the service principal object associated with the created identity.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantId: + description: 'TenantId: The id of the tenant which the identity belongs to.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230131storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230131.UserAssignedIdentity + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230131.UserAssignedIdentity_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230131.UserAssignedIdentityOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230131.UserAssignedIdentityOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230131.UserAssignedIdentityOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + tenantId: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230131.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + principalId: + type: string + systemData: + description: |- + Storage version of v1api20230131.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: users.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: User + listKind: UserList + plural: users + singular: user + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1 + schema: + openAPIV3Schema: + description: User is a MySQL user + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadUser: + description: AADUser contains details for creating an AAD user. + properties: + alias: + description: |- + Alias is the short name associated with the user. This is required if the AzureName is longer than 32 characters. + Note that Alias denotes the name used to manage the SQL user in MySQL, NOT the name used to log in to the SQL server. + When logging in to the SQL server and prompted to provider the username, supply the AzureName. + maxLength: 32 + type: string + serverAdminUsername: + description: |- + ServerAdminUsername is the username of the Server administrator. If your server admin was configured with + Azure Service Operator, this should match the value of the Administrator's $.spec.login field. If the + administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the + identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is + a member of that group, the ServerAdminUsername should be "admin-group" + type: string + required: + - serverAdminUsername + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + If not specified, the default is the name of the Kubernetes object. + When creating a local user, this will be the name of the user created. + When creating an AAD user, this must have a specific format depending on the type of AAD user being created. + For managed identity: "my-managed-identity-name" + For standard AAD user: "myuser@mydomain.onmicrosoft.com" + For AAD group: "my-group" + type: string + databasePrivileges: + additionalProperties: + items: + type: string + type: array + description: |- + The database-level roles assigned to the user (keyed by + database name). Privileges include the following: SELECT, + INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, + ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE + VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER + type: object + hostname: + description: Hostname is the host the user will connect from. If omitted, the default is to allow connection from any hostname. + type: string + localUser: + description: LocalUser contains details for creating a standard (non-aad) MySQL User + properties: + password: + description: Password is the password to use for the user + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminPassword: + description: |- + ServerAdminPassword is a reference to a secret containing the servers administrator password. + If specified, the operator uses the ServerAdminUsername and ServerAdminPassword to log into the server + as a local administrator. + If NOT specified, the operator uses its identity to log into the server. The operator can only successfully + log into the server if its identity is the administrator of the server or if its identity is a member of a + group which is the administrator of the server. If the + administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the + identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is + a member of that group, the ServerAdminUsername should be "admin-group" + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminUsername: + description: |- + ServerAdminUsername is the username of the Server administrator. If the + administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the + identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is + a member of that group, the ServerAdminUsername should be "admin-group". + type: string + required: + - password + - serverAdminUsername + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + name: + description: This is the name of the Kubernetes resource to reference. + type: string + required: + - name + type: object + privileges: + description: |- + The server-level roles assigned to the user. + Privileges include the following: RELOAD, PROCESS, SHOW + DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER + items: + type: string + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: users.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: User + listKind: UserList + plural: users + singular: user + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1 + schema: + openAPIV3Schema: + description: User is a postgresql user. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + localUser: + description: LocalUser contains details for creating a standard (non-aad) postgresql User. + properties: + password: + description: Password is the password to use for the user + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminPassword: + description: ServerAdminPassword is a reference to a secret containing the servers administrator password + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminUsername: + description: ServerAdminUsername is the user name of the Server administrator + type: string + required: + - password + - serverAdminPassword + - serverAdminUsername + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + name: + description: This is the name of the Kubernetes resource to reference. + type: string + required: + - name + type: object + roleOptions: + default: + login: true + description: |- + RoleOptions defines additional attributes of the user role. You can read more about these attributes + at https://www.postgresql.org/docs/current/role-attributes.html. + properties: + createDb: + default: false + description: WITH CREATEDB or NOCREATEDB + type: boolean + createRole: + default: false + description: WITH CREATEROLE or NOCREATEROLE + type: boolean + login: + default: true + description: WITH LOGIN or NOLOGIN + type: boolean + replication: + default: false + description: WITH REPLICATION or NOREPLICATION + type: boolean + type: object + roles: + description: |- + Roles is the set of roles granted to the user upon creation. + The Azure Database for PostgreSQL server is created with 3 default roles defined: azure_pg_admin, azure_superuser, + and your server admin user (this last is a role w/ login permission, commonly called a User). + items: + type: string + type: array + required: + - localUser + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: users.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: User + listKind: UserList + plural: users + singular: user + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1 + schema: + openAPIV3Schema: + description: User is an Azure SQL user + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + If not specified, the default is the name of the Kubernetes object. + When creating a local user, this will be the name of the user created. + When creating an AAD user, this must have a specific format depending on the type of AAD user being created. + For managed identity: "my-managed-identity-name" + For standard AAD user: "myuser@mydomain.onmicrosoft.com" + For AAD group: "my-group" + type: string + localUser: + description: LocalUser contains details for creating a standard (non-aad) Azure SQL User + properties: + password: + description: Password is the password to use for the user + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminPassword: + description: ServerAdminPassword is a reference to a secret containing the servers administrator password. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverAdminUsername: + description: |- + ServerAdminUsername is the username of the Server administrator. If the + administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the + identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is + a member of that group, the ServerAdminUsername should be "admin-group". + type: string + required: + - password + - serverAdminPassword + - serverAdminUsername + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to an sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + roles: + description: |- + The roles assigned to the user. + See https://learn.microsoft.com/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver16#fixed-database-roles + for the fixed set of roles supported by Azure SQL. + Roles include the following: db_owner, db_securityadmin, db_accessadmin, db_backupoperator, + db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, and db_denydatareader. + items: + type: string + type: array + required: + - localUser + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: vaults.keyvault.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: keyvault.azure.com + names: + categories: + - azure + - keyvault + kind: Vault + listKind: VaultList + plural: vaults + singular: vault + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/keyvault.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9-]{3,24}$ + type: string + location: + description: 'Location: The supported Azure location where the key vault should be created.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of the vault' + properties: + accessPolicies: + description: |- + AccessPolicies: An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use + the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not + required. Otherwise, access policies are required. + items: + description: |- + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + applicationId: + description: 'ApplicationId: Application ID of the client making request on behalf of a principal' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + applicationIdFromConfig: + description: 'ApplicationIdFromConfig: Application ID of the client making request on behalf of a principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: |- + ObjectId: The object ID of a user, service principal or security group in the Azure Active Directory tenant for the + vault. The object ID must be unique for the list of access policies. + type: string + objectIdFromConfig: + description: |- + ObjectIdFromConfig: The object ID of a user, service principal or security group in the Azure Active Directory tenant + for the vault. The object ID must be unique for the list of access policies. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + permissions: + description: 'Permissions: Permissions the identity has for keys, secrets and certificates.' + properties: + certificates: + description: 'Certificates: Permissions to certificates' + items: + enum: + - backup + - create + - delete + - deleteissuers + - get + - getissuers + - import + - list + - listissuers + - managecontacts + - manageissuers + - purge + - recover + - restore + - setissuers + - update + type: string + type: array + keys: + description: 'Keys: Permissions to keys' + items: + enum: + - backup + - create + - decrypt + - delete + - encrypt + - get + - import + - list + - purge + - recover + - release + - restore + - sign + - unwrapKey + - update + - verify + - wrapKey + type: string + type: array + secrets: + description: 'Secrets: Permissions to secrets' + items: + enum: + - backup + - delete + - get + - list + - purge + - recover + - restore + - set + type: string + type: array + storage: + description: 'Storage: Permissions to storage accounts' + items: + enum: + - backup + - delete + - deletesas + - get + - getsas + - list + - listsas + - purge + - recover + - regeneratekey + - restore + - set + - setsas + - update + type: string + type: array + type: object + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: |- + TenantIdFromConfig: The Azure Active Directory tenant ID that should be used for authenticating requests to the key + vault. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - permissions + type: object + type: array + createMode: + description: 'CreateMode: The vault''s create mode to indicate whether the vault need to be recovered or not.' + enum: + - createOrRecover + - default + - purgeThenCreate + - recover + type: string + enablePurgeProtection: + description: |- + EnablePurgeProtection: Property specifying whether protection against purge is enabled for this vault. Setting this + property to true activates protection against purge for this vault and its content - only the Key Vault service may + initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this + functionality is irreversible - that is, the property does not accept false as its value. + type: boolean + enableRbacAuthorization: + description: |- + EnableRbacAuthorization: Property that controls how data actions are authorized. When true, the key vault will use Role + Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties + will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy + stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value + of false. Note that management actions are always authorized with RBAC. + type: boolean + enableSoftDelete: + description: |- + EnableSoftDelete: Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not + set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it + cannot be reverted to false. + type: boolean + enabledForDeployment: + description: |- + EnabledForDeployment: Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored + as secrets from the key vault. + type: boolean + enabledForDiskEncryption: + description: |- + EnabledForDiskEncryption: Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the + vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: |- + EnabledForTemplateDeployment: Property to specify whether Azure Resource Manager is permitted to retrieve secrets from + the key vault. + type: boolean + networkAcls: + description: 'NetworkAcls: Rules governing the accessibility of the key vault from specific network locations.' + properties: + bypass: + description: |- + Bypass: Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the + default is 'AzureServices'. + enum: + - AzureServices + - None + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + required: + - value + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility of a vault from a specific virtual network. + properties: + ignoreMissingVnetServiceEndpoint: + description: |- + IgnoreMissingVnetServiceEndpoint: Property to specify whether NRP will ignore the check if parent subnet has + serviceEndpoints configured. + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the vault.' + enum: + - RegisteringDns + - Succeeded + type: string + sku: + description: 'Sku: SKU details' + properties: + family: + description: 'Family: SKU family name' + enum: + - A + type: string + name: + description: 'Name: SKU name to specify whether the key vault is a standard vault or a premium vault.' + enum: + - premium + - standard + type: string + required: + - family + - name + type: object + softDeleteRetentionInDays: + description: 'SoftDeleteRetentionInDays: softDelete data retention days. It accepts >=7 and <=90.' + type: integer + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: |- + TenantIdFromConfig: The Azure Active Directory tenant ID that should be used for authenticating requests to the key + vault. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vaultUri: + description: 'VaultUri: The URI of the vault for performing operations on keys and secrets.' + type: string + required: + - sku + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags that will be assigned to the key vault.' + type: object + required: + - location + - owner + - properties + type: object + status: + description: Resource information with extended details. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Fully qualified identifier of the key vault resource.' + type: string + location: + description: 'Location: Azure location of the key vault resource.' + type: string + name: + description: 'Name: Name of the key vault resource.' + type: string + properties: + description: 'Properties: Properties of the vault' + properties: + accessPolicies: + description: |- + AccessPolicies: An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use + the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not + required. Otherwise, access policies are required. + items: + description: |- + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + applicationId: + description: 'ApplicationId: Application ID of the client making request on behalf of a principal' + type: string + objectId: + description: |- + ObjectId: The object ID of a user, service principal or security group in the Azure Active Directory tenant for the + vault. The object ID must be unique for the list of access policies. + type: string + permissions: + description: 'Permissions: Permissions the identity has for keys, secrets and certificates.' + properties: + certificates: + description: 'Certificates: Permissions to certificates' + items: + type: string + type: array + keys: + description: 'Keys: Permissions to keys' + items: + type: string + type: array + secrets: + description: 'Secrets: Permissions to secrets' + items: + type: string + type: array + storage: + description: 'Storage: Permissions to storage accounts' + items: + type: string + type: array + type: object + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + type: string + type: object + type: array + createMode: + description: 'CreateMode: The vault''s create mode to indicate whether the vault need to be recovered or not.' + type: string + enablePurgeProtection: + description: |- + EnablePurgeProtection: Property specifying whether protection against purge is enabled for this vault. Setting this + property to true activates protection against purge for this vault and its content - only the Key Vault service may + initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this + functionality is irreversible - that is, the property does not accept false as its value. + type: boolean + enableRbacAuthorization: + description: |- + EnableRbacAuthorization: Property that controls how data actions are authorized. When true, the key vault will use Role + Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties + will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy + stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value + of false. Note that management actions are always authorized with RBAC. + type: boolean + enableSoftDelete: + description: |- + EnableSoftDelete: Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not + set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it + cannot be reverted to false. + type: boolean + enabledForDeployment: + description: |- + EnabledForDeployment: Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored + as secrets from the key vault. + type: boolean + enabledForDiskEncryption: + description: |- + EnabledForDiskEncryption: Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the + vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: |- + EnabledForTemplateDeployment: Property to specify whether Azure Resource Manager is permitted to retrieve secrets from + the key vault. + type: boolean + hsmPoolResourceId: + description: 'HsmPoolResourceId: The resource id of HSM Pool.' + type: string + networkAcls: + description: 'NetworkAcls: Rules governing the accessibility of the key vault from specific network locations.' + properties: + bypass: + description: |- + Bypass: Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the + default is 'AzureServices'. + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility of a vault from a specific virtual network. + properties: + id: + description: |- + Id: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + type: string + ignoreMissingVnetServiceEndpoint: + description: |- + IgnoreMissingVnetServiceEndpoint: Property to specify whether NRP will ignore the check if parent subnet has + serviceEndpoints configured. + type: boolean + type: object + type: array + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the key vault.' + items: + description: Private endpoint connection item. + properties: + etag: + description: 'Etag: Modified whenever there is a change in the state of private endpoint connection.' + type: string + id: + description: 'Id: Id of private endpoint connection.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: Properties of the private endpoint object.' + properties: + id: + description: 'Id: Full identifier of the private endpoint resource.' + type: string + type: object + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Approval state of the private link connection.' + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval or rejection.' + type: string + status: + description: 'Status: Indicates whether the connection has been approved, rejected or removed by the key vault owner.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the private endpoint connection.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the vault.' + type: string + sku: + description: 'Sku: SKU details' + properties: + family: + description: 'Family: SKU family name' + type: string + name: + description: 'Name: SKU name to specify whether the key vault is a standard vault or a premium vault.' + type: string + type: object + softDeleteRetentionInDays: + description: 'SoftDeleteRetentionInDays: softDelete data retention days. It accepts >=7 and <=90.' + type: integer + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + type: string + vaultUri: + description: 'VaultUri: The URI of the vault for performing operations on keys and secrets.' + type: string + type: object + systemData: + description: 'SystemData: System metadata for the key vault.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of the key vault resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the key vault resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the key vault resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of the key vault resource last modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the key vault resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the key vault resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags assigned to the key vault resource.' + type: object + type: + description: 'Type: Resource type of the key vault resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401preview.Vault + Generator information: + - Generated from: /keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/keyvault.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401preview.Vault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210401preview.VaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20210401preview.VaultProperties + Properties of the vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicies: + items: + description: |- + Storage version of v1api20210401preview.AccessPolicyEntry + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationId: + type: string + applicationIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + permissions: + description: |- + Storage version of v1api20210401preview.Permissions + Permissions the identity has for keys, secrets, certificates and storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificates: + items: + type: string + type: array + keys: + items: + type: string + type: array + secrets: + items: + type: string + type: array + storage: + items: + type: string + type: array + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + createMode: + type: string + enablePurgeProtection: + type: boolean + enableRbacAuthorization: + type: boolean + enableSoftDelete: + type: boolean + enabledForDeployment: + type: boolean + enabledForDiskEncryption: + type: boolean + enabledForTemplateDeployment: + type: boolean + networkAcls: + description: |- + Storage version of v1api20210401preview.NetworkRuleSet + A set of rules governing the network accessibility of a vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210401preview.IPRule + A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210401preview.VirtualNetworkRule + A rule governing the accessibility of a vault from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVnetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + provisioningState: + type: string + sku: + description: |- + Storage version of v1api20210401preview.Sku + SKU details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + family: + type: string + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vaultUri: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210401preview.Vault_STATUS + Resource information with extended details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20210401preview.VaultProperties_STATUS + Properties of the vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicies: + items: + description: |- + Storage version of v1api20210401preview.AccessPolicyEntry_STATUS + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationId: + type: string + objectId: + type: string + permissions: + description: |- + Storage version of v1api20210401preview.Permissions_STATUS + Permissions the identity has for keys, secrets, certificates and storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificates: + items: + type: string + type: array + keys: + items: + type: string + type: array + secrets: + items: + type: string + type: array + storage: + items: + type: string + type: array + type: object + tenantId: + type: string + type: object + type: array + createMode: + type: string + enablePurgeProtection: + type: boolean + enableRbacAuthorization: + type: boolean + enableSoftDelete: + type: boolean + enabledForDeployment: + type: boolean + enabledForDiskEncryption: + type: boolean + enabledForTemplateDeployment: + type: boolean + hsmPoolResourceId: + type: string + networkAcls: + description: |- + Storage version of v1api20210401preview.NetworkRuleSet_STATUS + A set of rules governing the network accessibility of a vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210401preview.IPRule_STATUS + A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210401preview.VirtualNetworkRule_STATUS + A rule governing the accessibility of a vault from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + type: object + type: array + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210401preview.PrivateEndpointConnectionItem_STATUS + Private endpoint connection item. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + privateEndpoint: + description: |- + Storage version of v1api20210401preview.PrivateEndpoint_STATUS + Private endpoint object properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20210401preview.PrivateLinkServiceConnectionState_STATUS + An object that represents the approval state of the private link connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: object + type: array + provisioningState: + type: string + sku: + description: |- + Storage version of v1api20210401preview.Sku_STATUS + SKU details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + family: + type: string + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + tenantId: + type: string + vaultUri: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210401preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the key vault resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /keyvault/resource-manager/Microsoft.KeyVault/stable/2023-07-01/keyvault.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9-]{3,24}$ + type: string + location: + description: 'Location: The supported Azure location where the key vault should be created.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of the vault' + properties: + accessPolicies: + description: |- + AccessPolicies: An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use + the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not + required. Otherwise, access policies are required. + items: + description: |- + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + applicationId: + description: 'ApplicationId: Application ID of the client making request on behalf of a principal' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + applicationIdFromConfig: + description: 'ApplicationIdFromConfig: Application ID of the client making request on behalf of a principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + description: |- + ObjectId: The object ID of a user, service principal or security group in the Azure Active Directory tenant for the + vault. The object ID must be unique for the list of access policies. + type: string + objectIdFromConfig: + description: |- + ObjectIdFromConfig: The object ID of a user, service principal or security group in the Azure Active Directory tenant + for the vault. The object ID must be unique for the list of access policies. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + permissions: + description: 'Permissions: Permissions the identity has for keys, secrets and certificates.' + properties: + certificates: + description: 'Certificates: Permissions to certificates' + items: + enum: + - all + - backup + - create + - delete + - deleteissuers + - get + - getissuers + - import + - list + - listissuers + - managecontacts + - manageissuers + - purge + - recover + - restore + - setissuers + - update + type: string + type: array + keys: + description: 'Keys: Permissions to keys' + items: + enum: + - all + - backup + - create + - decrypt + - delete + - encrypt + - get + - getrotationpolicy + - import + - list + - purge + - recover + - release + - restore + - rotate + - setrotationpolicy + - sign + - unwrapKey + - update + - verify + - wrapKey + type: string + type: array + secrets: + description: 'Secrets: Permissions to secrets' + items: + enum: + - all + - backup + - delete + - get + - list + - purge + - recover + - restore + - set + type: string + type: array + storage: + description: 'Storage: Permissions to storage accounts' + items: + enum: + - all + - backup + - delete + - deletesas + - get + - getsas + - list + - listsas + - purge + - recover + - regeneratekey + - restore + - set + - setsas + - update + type: string + type: array + type: object + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: |- + TenantIdFromConfig: The Azure Active Directory tenant ID that should be used for authenticating requests to the key + vault. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - permissions + type: object + type: array + createMode: + description: 'CreateMode: The vault''s create mode to indicate whether the vault need to be recovered or not.' + enum: + - createOrRecover + - default + - purgeThenCreate + - recover + type: string + enablePurgeProtection: + description: |- + EnablePurgeProtection: Property specifying whether protection against purge is enabled for this vault. Setting this + property to true activates protection against purge for this vault and its content - only the Key Vault service may + initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this + functionality is irreversible - that is, the property does not accept false as its value. + type: boolean + enableRbacAuthorization: + description: |- + EnableRbacAuthorization: Property that controls how data actions are authorized. When true, the key vault will use Role + Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties + will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy + stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value + of false. Note that management actions are always authorized with RBAC. + type: boolean + enableSoftDelete: + description: |- + EnableSoftDelete: Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not + set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it + cannot be reverted to false. + type: boolean + enabledForDeployment: + description: |- + EnabledForDeployment: Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored + as secrets from the key vault. + type: boolean + enabledForDiskEncryption: + description: |- + EnabledForDiskEncryption: Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the + vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: |- + EnabledForTemplateDeployment: Property to specify whether Azure Resource Manager is permitted to retrieve secrets from + the key vault. + type: boolean + networkAcls: + description: 'NetworkAcls: Rules governing the accessibility of the key vault from specific network locations.' + properties: + bypass: + description: |- + Bypass: Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the + default is 'AzureServices'. + enum: + - AzureServices + - None + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + required: + - value + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility of a vault from a specific virtual network. + properties: + ignoreMissingVnetServiceEndpoint: + description: |- + IgnoreMissingVnetServiceEndpoint: Property to specify whether NRP will ignore the check if parent subnet has + serviceEndpoints configured. + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the vault.' + enum: + - RegisteringDns + - Succeeded + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Property to specify whether the vault will accept traffic from public internet. If set to + 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. + This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the + rules. + type: string + sku: + description: 'Sku: SKU details' + properties: + family: + description: 'Family: SKU family name' + enum: + - A + type: string + name: + description: 'Name: SKU name to specify whether the key vault is a standard vault or a premium vault.' + enum: + - premium + - standard + type: string + required: + - family + - name + type: object + softDeleteRetentionInDays: + description: 'SoftDeleteRetentionInDays: softDelete data retention days. It accepts >=7 and <=90.' + type: integer + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: |- + TenantIdFromConfig: The Azure Active Directory tenant ID that should be used for authenticating requests to the key + vault. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vaultUri: + description: 'VaultUri: The URI of the vault for performing operations on keys and secrets.' + type: string + required: + - sku + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The tags that will be assigned to the key vault.' + type: object + required: + - location + - owner + - properties + type: object + status: + description: Resource information with extended details. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Fully qualified identifier of the key vault resource.' + type: string + location: + description: 'Location: Azure location of the key vault resource.' + type: string + name: + description: 'Name: Name of the key vault resource.' + type: string + properties: + description: 'Properties: Properties of the vault' + properties: + accessPolicies: + description: |- + AccessPolicies: An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use + the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not + required. Otherwise, access policies are required. + items: + description: |- + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + applicationId: + description: 'ApplicationId: Application ID of the client making request on behalf of a principal' + type: string + objectId: + description: |- + ObjectId: The object ID of a user, service principal or security group in the Azure Active Directory tenant for the + vault. The object ID must be unique for the list of access policies. + type: string + permissions: + description: 'Permissions: Permissions the identity has for keys, secrets and certificates.' + properties: + certificates: + description: 'Certificates: Permissions to certificates' + items: + type: string + type: array + keys: + description: 'Keys: Permissions to keys' + items: + type: string + type: array + secrets: + description: 'Secrets: Permissions to secrets' + items: + type: string + type: array + storage: + description: 'Storage: Permissions to storage accounts' + items: + type: string + type: array + type: object + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + type: string + type: object + type: array + createMode: + description: 'CreateMode: The vault''s create mode to indicate whether the vault need to be recovered or not.' + type: string + enablePurgeProtection: + description: |- + EnablePurgeProtection: Property specifying whether protection against purge is enabled for this vault. Setting this + property to true activates protection against purge for this vault and its content - only the Key Vault service may + initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this + functionality is irreversible - that is, the property does not accept false as its value. + type: boolean + enableRbacAuthorization: + description: |- + EnableRbacAuthorization: Property that controls how data actions are authorized. When true, the key vault will use Role + Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties + will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy + stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value + of false. Note that management actions are always authorized with RBAC. + type: boolean + enableSoftDelete: + description: |- + EnableSoftDelete: Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not + set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it + cannot be reverted to false. + type: boolean + enabledForDeployment: + description: |- + EnabledForDeployment: Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored + as secrets from the key vault. + type: boolean + enabledForDiskEncryption: + description: |- + EnabledForDiskEncryption: Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the + vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: |- + EnabledForTemplateDeployment: Property to specify whether Azure Resource Manager is permitted to retrieve secrets from + the key vault. + type: boolean + hsmPoolResourceId: + description: 'HsmPoolResourceId: The resource id of HSM Pool.' + type: string + networkAcls: + description: 'NetworkAcls: Rules governing the accessibility of the key vault from specific network locations.' + properties: + bypass: + description: |- + Bypass: Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the + default is 'AzureServices'. + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility of a vault from a specific virtual network. + properties: + id: + description: |- + Id: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + type: string + ignoreMissingVnetServiceEndpoint: + description: |- + IgnoreMissingVnetServiceEndpoint: Property to specify whether NRP will ignore the check if parent subnet has + serviceEndpoints configured. + type: boolean + type: object + type: array + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the key vault.' + items: + description: Private endpoint connection item. + properties: + etag: + description: 'Etag: Modified whenever there is a change in the state of private endpoint connection.' + type: string + id: + description: 'Id: Id of private endpoint connection.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: Properties of the private endpoint object.' + properties: + id: + description: 'Id: Full identifier of the private endpoint resource.' + type: string + type: object + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Approval state of the private link connection.' + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval or rejection.' + type: string + status: + description: 'Status: Indicates whether the connection has been approved, rejected or removed by the key vault owner.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the private endpoint connection.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the vault.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Property to specify whether the vault will accept traffic from public internet. If set to + 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. + This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the + rules. + type: string + sku: + description: 'Sku: SKU details' + properties: + family: + description: 'Family: SKU family name' + type: string + name: + description: 'Name: SKU name to specify whether the key vault is a standard vault or a premium vault.' + type: string + type: object + softDeleteRetentionInDays: + description: 'SoftDeleteRetentionInDays: softDelete data retention days. It accepts >=7 and <=90.' + type: integer + tenantId: + description: 'TenantId: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.' + type: string + vaultUri: + description: 'VaultUri: The URI of the vault for performing operations on keys and secrets.' + type: string + type: object + systemData: + description: 'SystemData: System metadata for the key vault.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of the key vault resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the key vault resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the key vault resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of the key vault resource last modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the key vault resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the key vault resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Tags assigned to the key vault resource.' + type: object + type: + description: 'Type: Resource type of the key vault resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.Vault + Generator information: + - Generated from: /keyvault/resource-manager/Microsoft.KeyVault/stable/2023-07-01/keyvault.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.Vault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230701.VaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230701.VaultProperties + Properties of the vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicies: + items: + description: |- + Storage version of v1api20230701.AccessPolicyEntry + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationId: + type: string + applicationIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + permissions: + description: |- + Storage version of v1api20230701.Permissions + Permissions the identity has for keys, secrets, certificates and storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificates: + items: + type: string + type: array + keys: + items: + type: string + type: array + secrets: + items: + type: string + type: array + storage: + items: + type: string + type: array + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + createMode: + type: string + enablePurgeProtection: + type: boolean + enableRbacAuthorization: + type: boolean + enableSoftDelete: + type: boolean + enabledForDeployment: + type: boolean + enabledForDiskEncryption: + type: boolean + enabledForTemplateDeployment: + type: boolean + networkAcls: + description: |- + Storage version of v1api20230701.NetworkRuleSet + A set of rules governing the network accessibility of a vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule + A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20230701.VirtualNetworkRule + A rule governing the accessibility of a vault from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVnetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku + SKU details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + family: + type: string + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vaultUri: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230701.Vault_STATUS + Resource information with extended details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230701.VaultProperties_STATUS + Properties of the vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicies: + items: + description: |- + Storage version of v1api20230701.AccessPolicyEntry_STATUS + An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key + vault's tenant ID. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationId: + type: string + objectId: + type: string + permissions: + description: |- + Storage version of v1api20230701.Permissions_STATUS + Permissions the identity has for keys, secrets, certificates and storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificates: + items: + type: string + type: array + keys: + items: + type: string + type: array + secrets: + items: + type: string + type: array + storage: + items: + type: string + type: array + type: object + tenantId: + type: string + type: object + type: array + createMode: + type: string + enablePurgeProtection: + type: boolean + enableRbacAuthorization: + type: boolean + enableSoftDelete: + type: boolean + enabledForDeployment: + type: boolean + enabledForDiskEncryption: + type: boolean + enabledForTemplateDeployment: + type: boolean + hsmPoolResourceId: + type: string + networkAcls: + description: |- + Storage version of v1api20230701.NetworkRuleSet_STATUS + A set of rules governing the network accessibility of a vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule_STATUS + A rule governing the accessibility of a vault from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20230701.VirtualNetworkRule_STATUS + A rule governing the accessibility of a vault from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + type: object + type: array + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230701.PrivateEndpointConnectionItem_STATUS + Private endpoint connection item. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + privateEndpoint: + description: |- + Storage version of v1api20230701.PrivateEndpoint_STATUS + Private endpoint object properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20230701.PrivateLinkServiceConnectionState_STATUS + An object that represents the approval state of the private link connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku_STATUS + SKU details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + family: + type: string + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + tenantId: + type: string + vaultUri: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230701.SystemData_STATUS + Metadata pertaining to creation and last modification of the key vault resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualmachines.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: VirtualMachine + listKind: VirtualMachineList + plural: virtualmachines + singular: virtualmachine + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalCapabilities: + description: 'AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.' + properties: + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + availabilitySet: + description: |- + AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to. + Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For + more information about availability sets, see [Manage the availability of virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being + added should be under the same resource group as the availability set resource. An existing VM cannot be added to an + availability set. + This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot virtual machine. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + enum: + - Deallocate + - Delete + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + hardwareProfile: + description: 'HardwareProfile: Specifies the hardware settings for the virtual machine.' + properties: + vmSize: + description: |- + VmSize: Specifies the size of the virtual machine. + The enum data type is currently deprecated and will be removed by December 23rd 2023. + Recommended way to get the list of available sizes is using these APIs: + [List all available virtual machine sizes in an availability + set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) + [List all available virtual machine sizes in a region]( + https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list) + [List all available virtual machine sizes for + resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about + virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes). + The available VM sizes depend on region and availability set. + type: string + type: object + host: + description: |- + Host: Specifies information about the dedicated host that the virtual machine resides in. + Minimum api-version: 2018-10-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine resides in. + Minimum api-version: 2020-06-01. + NOTE: User cannot specify both host and hostGroup properties. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the virtual machine, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the virtual machine. 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 + virtual machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Virtual Machine. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + location: + description: 'Location: Resource location' + type: string + networkProfile: + description: 'NetworkProfile: Specifies the network interfaces of the virtual machine.' + properties: + networkInterfaces: + description: 'NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.' + items: + description: Describes a network interface reference. + properties: + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osProfile: + description: |- + OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot + be changed once VM is provisioned. + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length (Windows): 8 characters + Minimum-length (Linux): 6 characters + Max-length (Windows): 123 characters + Max-length (Linux): 72 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows + VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess + Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + This property cannot be updated after the VM is created. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters +
  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) +
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for + Linux on + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine. + This may only be set to False when no extensions are present on the virtual machine. + type: boolean + computerName: + description: |- + ComputerName: Specifies the host OS name of the virtual machine. + This name cannot be updated after the VM is created. + Max-length (Windows): 15 characters + Max-length (Linux): 64 characters. + For naming conventions and restrictions see [Azure infrastructure services implementation + guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + Note: Do not pass any secrets or passwords in customData property + This property cannot be updated after the VM is created. + customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure + VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/) + For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + enum: + - AutomaticByPlatform + - ImageDefault + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + description: |- + RequireGuestProvisionSignal: Specifies whether the guest provision signal is required to infer provision success of the + virtual machine. Note: This property is for private testing only, and all customers must not set the property to false. + type: boolean + secrets: + description: 'Secrets: Specifies set of certificates that should be installed onto the virtual machine.' + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + enum: + - Microsoft-Windows-Shell-Setup + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + enum: + - OobeSystem + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + enum: + - AutoLogon + - FirstLogonCommands + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + enum: + - AutomaticByOS + - AutomaticByPlatform + - Manual + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from + time zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + enum: + - Http + - Https + type: string + type: object + type: array + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomain: + description: |- + PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By + default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across + available fault domains. +
  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual + Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated + once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View. + Minimum api‐version: 2020‐12‐01 + type: integer + priority: + description: |- + Priority: Specifies the priority for the virtual machine. + Minimum api-version: 2019-03-01 + enum: + - Low + - Regular + - Spot + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be + assigned to. + Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machine.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. + Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch. + enum: + - TrustedLaunch + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + items: + description: Describes a data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + detachOption: + description: |- + DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of + detachment from the virtual machine. Supported values: ForceDetach. + detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk + did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use + force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed + when using this detach behavior. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk + update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + enum: + - ForceDetach + type: string + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. Managed OS disk storage account type can + only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with + OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + toBeDetached: + description: 'ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset' + type: boolean + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + - lun + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage. + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + diffDiskSettings: + description: 'DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.' + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + enum: + - Local + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes + and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a + cache disk. + enum: + - CacheDisk + - ResourceDisk + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. Managed OS disk storage account type can + only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with + OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + virtualMachineScaleSet: + description: |- + VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be + assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to + maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM + cannot be added to a virtual machine scale set. + This property cannot exist along with a non-null properties.availabilitySet reference. + Minimum api‐version: 2019‐03‐01 + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: The virtual machine zones.' + items: + type: string + type: array + required: + - location + - owner + type: object + status: + description: Describes a Virtual Machine. + properties: + additionalCapabilities: + description: 'AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.' + properties: + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + availabilitySet: + description: |- + AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to. + Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For + more information about availability sets, see [Manage the availability of virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being + added should be under the same resource group as the availability set resource. An existing VM cannot be added to an + availability set. + This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot virtual machine. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + hardwareProfile: + description: 'HardwareProfile: Specifies the hardware settings for the virtual machine.' + properties: + vmSize: + description: |- + VmSize: Specifies the size of the virtual machine. + The enum data type is currently deprecated and will be removed by December 23rd 2023. + Recommended way to get the list of available sizes is using these APIs: + [List all available virtual machine sizes in an availability + set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) + [List all available virtual machine sizes in a region]( + https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list) + [List all available virtual machine sizes for + resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about + virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes). + The available VM sizes depend on region and availability set. + type: string + type: object + host: + description: |- + Host: Specifies information about the dedicated host that the virtual machine resides in. + Minimum api-version: 2018-10-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine resides in. + Minimum api-version: 2020-06-01. + NOTE: User cannot specify both host and hostGroup properties. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: The identity of the virtual machine, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of virtual machine identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the virtual machine. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the virtual machine. 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 + virtual machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Virtual Machine. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceView: + description: 'InstanceView: The virtual machine instance view.' + properties: + assignedHost: + description: |- + AssignedHost: Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, + when the virtual machine is associated with a dedicated host group that has automatic placement enabled. + Minimum api-version: 2020-06-01. + type: string + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + consoleScreenshotBlobUri: + description: |- + ConsoleScreenshotBlobUri: The console screenshot blob URI. + NOTE: This will not be set if boot diagnostics is currently enabled with managed storage. + type: string + serialConsoleLogBlobUri: + description: |- + SerialConsoleLogBlobUri: The serial console log blob Uri. + NOTE: This will not be set if boot diagnostics is currently enabled with managed storage. + type: string + status: + description: |- + Status: The boot diagnostics status information for the VM. + NOTE: It will be set only if there are errors encountered in enabling boot diagnostics. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: object + computerName: + description: 'ComputerName: The computer name assigned to the virtual machine.' + type: string + disks: + description: 'Disks: The virtual machine disk information.' + items: + description: The instance view of the disk. + properties: + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + items: + description: Describes a Encryption Settings for a Disk + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + name: + description: 'Name: The disk name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: object + type: array + extensions: + description: 'Extensions: The extensions information.' + items: + description: The instance view of a virtual machine extension. + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + hyperVGeneration: + description: 'HyperVGeneration: Specifies the HyperVGeneration Type associated with a resource' + type: string + maintenanceRedeployStatus: + description: 'MaintenanceRedeployStatus: The Maintenance Operation status on the virtual machine.' + properties: + isCustomerInitiatedMaintenanceAllowed: + description: 'IsCustomerInitiatedMaintenanceAllowed: True, if customer is allowed to perform Maintenance.' + type: boolean + lastOperationMessage: + description: 'LastOperationMessage: Message returned for the last Maintenance Operation.' + type: string + lastOperationResultCode: + description: 'LastOperationResultCode: The Last Maintenance Operation Result Code.' + type: string + maintenanceWindowEndTime: + description: 'MaintenanceWindowEndTime: End Time for the Maintenance Window.' + type: string + maintenanceWindowStartTime: + description: 'MaintenanceWindowStartTime: Start Time for the Maintenance Window.' + type: string + preMaintenanceWindowEndTime: + description: 'PreMaintenanceWindowEndTime: End Time for the Pre Maintenance Window.' + type: string + preMaintenanceWindowStartTime: + description: 'PreMaintenanceWindowStartTime: Start Time for the Pre Maintenance Window.' + type: string + type: object + osName: + description: 'OsName: The Operating System running on the virtual machine.' + type: string + osVersion: + description: 'OsVersion: The version of Operating System running on the virtual machine.' + type: string + patchStatus: + description: 'PatchStatus: [Preview Feature] The status of virtual machine patch operations.' + properties: + availablePatchSummary: + description: 'AvailablePatchSummary: The available patch summary of the latest assessment operation for the virtual machine.' + properties: + assessmentActivityId: + description: |- + AssessmentActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP and + extension logs. + type: string + criticalAndSecurityPatchCount: + description: |- + CriticalAndSecurityPatchCount: The number of critical or security patches that have been detected as available and not + yet installed. + type: integer + error: + description: 'Error: The errors that were encountered during execution of the operation. The details array contains the list of them.' + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + lastModifiedTime: + description: 'LastModifiedTime: The UTC timestamp when the operation began.' + type: string + otherPatchCount: + description: 'OtherPatchCount: The number of all available patches excluding critical and security.' + type: integer + rebootPending: + description: |- + RebootPending: The overall reboot status of the VM. It will be true when partially installed patches require a reboot to + complete installation but the reboot has not yet occurred. + type: boolean + startTime: + description: 'StartTime: The UTC timestamp when the operation began.' + type: string + status: + description: |- + Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. + At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + type: string + type: object + configurationStatuses: + description: 'ConfigurationStatuses: The enablement status of the specified patchMode' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + lastPatchInstallationSummary: + description: 'LastPatchInstallationSummary: The installation summary of the latest installation operation for the virtual machine.' + properties: + error: + description: 'Error: The errors that were encountered during execution of the operation. The details array contains the list of them.' + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + excludedPatchCount: + description: |- + ExcludedPatchCount: The number of all available patches but excluded explicitly by a customer-specified exclusion list + match. + type: integer + failedPatchCount: + description: 'FailedPatchCount: The count of patches that failed installation.' + type: integer + installationActivityId: + description: |- + InstallationActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP + and extension logs. + type: string + installedPatchCount: + description: 'InstalledPatchCount: The count of patches that successfully installed.' + type: integer + lastModifiedTime: + description: 'LastModifiedTime: The UTC timestamp when the operation began.' + type: string + maintenanceWindowExceeded: + description: 'MaintenanceWindowExceeded: Describes whether the operation ran out of time before it completed all its intended actions' + type: boolean + notSelectedPatchCount: + description: |- + NotSelectedPatchCount: The number of all available patches but not going to be installed because it didn't match a + classification or inclusion list entry. + type: integer + pendingPatchCount: + description: |- + PendingPatchCount: The number of all available patches expected to be installed over the course of the patch + installation operation. + type: integer + startTime: + description: 'StartTime: The UTC timestamp when the operation began.' + type: string + status: + description: |- + Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. + At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + type: string + type: object + type: object + platformFaultDomain: + description: 'PlatformFaultDomain: Specifies the fault domain of the virtual machine.' + type: integer + platformUpdateDomain: + description: 'PlatformUpdateDomain: Specifies the update domain of the virtual machine.' + type: integer + rdpThumbPrint: + description: 'RdpThumbPrint: The Remote desktop certificate thumbprint.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + vmAgent: + description: 'VmAgent: The VM Agent running on the virtual machine.' + properties: + extensionHandlers: + description: 'ExtensionHandlers: The virtual machine extension handler instance view.' + items: + description: The instance view of a virtual machine extension handler. + properties: + status: + description: 'Status: The extension handler status.' + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + vmAgentVersion: + description: 'VmAgentVersion: The VM Agent full version.' + type: string + type: object + vmHealth: + description: 'VmHealth: The health status for the VM.' + properties: + status: + description: 'Status: The health status information for the VM.' + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: object + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + networkProfile: + description: 'NetworkProfile: Specifies the network interfaces of the virtual machine.' + properties: + networkInterfaces: + description: 'NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.' + items: + description: Describes a network interface reference. + properties: + id: + description: 'Id: Resource Id' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot + be changed once VM is provisioned. + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + This property cannot be updated after the VM is created. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters +
  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) +
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for + Linux on + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine. + This may only be set to False when no extensions are present on the virtual machine. + type: boolean + computerName: + description: |- + ComputerName: Specifies the host OS name of the virtual machine. + This name cannot be updated after the VM is created. + Max-length (Windows): 15 characters + Max-length (Linux): 64 characters. + For naming conventions and restrictions see [Azure infrastructure services implementation + guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + Note: Do not pass any secrets or passwords in customData property + This property cannot be updated after the VM is created. + customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure + VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/) + For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + description: |- + RequireGuestProvisionSignal: Specifies whether the guest provision signal is required to infer provision success of the + virtual machine. Note: This property is for private testing only, and all customers must not set the property to false. + type: boolean + secrets: + description: 'Secrets: Specifies set of certificates that should be installed onto the virtual machine.' + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from + time zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + type: string + type: object + type: array + type: object + type: object + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomain: + description: |- + PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By + default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across + available fault domains. +
  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual + Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated + once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View. + Minimum api‐version: 2020‐12‐01 + type: integer + priority: + description: |- + Priority: Specifies the priority for the virtual machine. + Minimum api-version: 2019-03-01 + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be + assigned to. + Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + resources: + description: 'Resources: The virtual machine child extension resources.' + items: + description: Describes a Virtual Machine Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + id: + description: 'Id: Resource Id' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machine.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. + Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch. + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + items: + description: Describes a data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + type: string + detachOption: + description: |- + DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of + detachment from the virtual machine. Supported values: ForceDetach. + detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk + did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use + force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed + when using this detach behavior. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk + update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned + only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is + UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine + Scale Set. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. Managed OS disk storage account type can + only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with + OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + toBeDetached: + description: 'ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset' + type: boolean + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + exactVersion: + description: |- + ExactVersion: Specifies in decimal numbers, the version of platform image or marketplace image used to create the + virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + type: string + id: + description: 'Id: Resource Id' + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage. + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + type: string + diffDiskSettings: + description: 'DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.' + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes + and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a + cache disk. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. Managed OS disk storage account type can + only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with + OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + type: string + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + virtualMachineScaleSet: + description: |- + VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be + assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to + maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM + cannot be added to a virtual machine scale set. + This property cannot exist along with a non-null properties.availabilitySet reference. + Minimum api‐version: 2019‐03‐01 + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vmId: + description: |- + VmId: Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS + and can be read using platform BIOS commands. + type: string + zones: + description: 'Zones: The virtual machine zones.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.VirtualMachine + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.VirtualMachine_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20201201.AdditionalCapabilities + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ultraSSDEnabled: + type: boolean + type: object + availabilitySet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + billingProfile: + description: |- + Storage version of v1api20201201.BillingProfile + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20201201.DiagnosticsProfile + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20201201.BootDiagnostics + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extendedLocation: + description: |- + Storage version of v1api20201201.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + extensionsTimeBudget: + type: string + hardwareProfile: + description: |- + Storage version of v1api20201201.HardwareProfile + Specifies the hardware settings for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSize: + type: string + type: object + host: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostGroup: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20201201.VirtualMachineIdentity + Identity for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20201201.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + licenseType: + type: string + location: + type: string + networkProfile: + description: |- + Storage version of v1api20201201.NetworkProfile + Specifies the network interfaces of the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkInterfaces: + items: + description: |- + Storage version of v1api20201201.NetworkInterfaceReference + Describes a network interface reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primary: + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20201201.VirtualMachineOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osProfile: + description: |- + Storage version of v1api20201201.OSProfile + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is + provisioned. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerName: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20201201.LinuxConfiguration + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.LinuxPatchSettings + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20201201.SshConfiguration + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20201201.SshPublicKeySpec + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + type: boolean + secrets: + items: + description: |- + Storage version of v1api20201201.VaultSecretGroup + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20201201.VaultCertificate + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20201201.WindowsConfiguration + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20201201.AdditionalUnattendContent + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.PatchSettings + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20201201.WinRMConfiguration + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20201201.WinRMListener + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20201201.Plan + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomain: + type: integer + priority: + type: string + proximityPlacementGroup: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20201201.SecurityProfile + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20201201.UefiSettings + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20201201.StorageProfile + Specifies the storage settings for the virtual machine disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20201201.DataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + detachOption: + type: string + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20201201.ManagedDiskParameters + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + toBeDetached: + type: boolean + vhd: + description: |- + Storage version of v1api20201201.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20201201.ImageReference + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + offer: + type: string + publisher: + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20201201.OSDisk + Specifies information about the operating system disk used by the virtual machine. + For more information about + disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20201201.DiffDiskSettings + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + encryptionSettings: + description: |- + Storage version of v1api20201201.DiskEncryptionSettings + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultSecretReference + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultKeyReference + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20201201.ManagedDiskParameters + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhd: + description: |- + Storage version of v1api20201201.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + virtualMachineScaleSet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201201.VirtualMachine_STATUS + Describes a Virtual Machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20201201.AdditionalCapabilities_STATUS + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ultraSSDEnabled: + type: boolean + type: object + availabilitySet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + billingProfile: + description: |- + Storage version of v1api20201201.BillingProfile_STATUS + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diagnosticsProfile: + description: |- + Storage version of v1api20201201.DiagnosticsProfile_STATUS + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20201201.BootDiagnostics_STATUS + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extendedLocation: + description: |- + Storage version of v1api20201201.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + extensionsTimeBudget: + type: string + hardwareProfile: + description: |- + Storage version of v1api20201201.HardwareProfile_STATUS + Specifies the hardware settings for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSize: + type: string + type: object + host: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + hostGroup: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20201201.VirtualMachineIdentity_STATUS + Identity for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20201201.VirtualMachineIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instanceView: + description: |- + Storage version of v1api20201201.VirtualMachineInstanceView_STATUS + The instance view of a virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedHost: + type: string + bootDiagnostics: + description: |- + Storage version of v1api20201201.BootDiagnosticsInstanceView_STATUS + The instance view of a virtual machine boot diagnostics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consoleScreenshotBlobUri: + type: string + serialConsoleLogBlobUri: + type: string + status: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: object + computerName: + type: string + disks: + items: + description: |- + Storage version of v1api20201201.DiskInstanceView_STATUS + The instance view of the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionSettings: + items: + description: |- + Storage version of v1api20201201.DiskEncryptionSettings_STATUS + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultKeyReference_STATUS + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: object + type: array + extensions: + items: + description: |- + Storage version of v1api20201201.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + hyperVGeneration: + type: string + maintenanceRedeployStatus: + description: |- + Storage version of v1api20201201.MaintenanceRedeployStatus_STATUS + Maintenance Operation Status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isCustomerInitiatedMaintenanceAllowed: + type: boolean + lastOperationMessage: + type: string + lastOperationResultCode: + type: string + maintenanceWindowEndTime: + type: string + maintenanceWindowStartTime: + type: string + preMaintenanceWindowEndTime: + type: string + preMaintenanceWindowStartTime: + type: string + type: object + osName: + type: string + osVersion: + type: string + patchStatus: + description: |- + Storage version of v1api20201201.VirtualMachinePatchStatus_STATUS + The status of virtual machine patch operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availablePatchSummary: + description: |- + Storage version of v1api20201201.AvailablePatchSummary_STATUS + Describes the properties of an virtual machine instance view for available patch summary. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentActivityId: + type: string + criticalAndSecurityPatchCount: + type: integer + error: + description: |- + Storage version of v1api20201201.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20201201.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20201201.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + lastModifiedTime: + type: string + otherPatchCount: + type: integer + rebootPending: + type: boolean + startTime: + type: string + status: + type: string + type: object + configurationStatuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + lastPatchInstallationSummary: + description: |- + Storage version of v1api20201201.LastPatchInstallationSummary_STATUS + Describes the properties of the last installed patch summary. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20201201.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20201201.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20201201.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + excludedPatchCount: + type: integer + failedPatchCount: + type: integer + installationActivityId: + type: string + installedPatchCount: + type: integer + lastModifiedTime: + type: string + maintenanceWindowExceeded: + type: boolean + notSelectedPatchCount: + type: integer + pendingPatchCount: + type: integer + startTime: + type: string + status: + type: string + type: object + type: object + platformFaultDomain: + type: integer + platformUpdateDomain: + type: integer + rdpThumbPrint: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + vmAgent: + description: |- + Storage version of v1api20201201.VirtualMachineAgentInstanceView_STATUS + The instance view of the VM Agent running on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensionHandlers: + items: + description: |- + Storage version of v1api20201201.VirtualMachineExtensionHandlerInstanceView_STATUS + The instance view of a virtual machine extension handler. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + vmAgentVersion: + type: string + type: object + vmHealth: + description: |- + Storage version of v1api20201201.VirtualMachineHealthStatus_STATUS + The health status of the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: object + type: object + licenseType: + type: string + location: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20201201.NetworkProfile_STATUS + Specifies the network interfaces of the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkInterfaces: + items: + description: |- + Storage version of v1api20201201.NetworkInterfaceReference_STATUS + Describes a network interface reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + primary: + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20201201.OSProfile_STATUS + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is + provisioned. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerName: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20201201.LinuxConfiguration_STATUS + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.LinuxPatchSettings_STATUS + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20201201.SshConfiguration_STATUS + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20201201.SshPublicKey_STATUS + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + type: boolean + secrets: + items: + description: |- + Storage version of v1api20201201.VaultSecretGroup_STATUS + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20201201.VaultCertificate_STATUS + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20201201.WindowsConfiguration_STATUS + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20201201.AdditionalUnattendContent_STATUS + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.PatchSettings_STATUS + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20201201.WinRMConfiguration_STATUS + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20201201.WinRMListener_STATUS + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + plan: + description: |- + Storage version of v1api20201201.Plan_STATUS + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomain: + type: integer + priority: + type: string + provisioningState: + type: string + proximityPlacementGroup: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resources: + items: + description: |- + Storage version of v1api20201201.VirtualMachineExtension_STATUS + Describes a Virtual Machine Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + instanceView: + description: |- + Storage version of v1api20201201.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + name: + type: string + properties_type: + type: string + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + securityProfile: + description: |- + Storage version of v1api20201201.SecurityProfile_STATUS + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20201201.UefiSettings_STATUS + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20201201.StorageProfile_STATUS + Specifies the storage settings for the virtual machine disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20201201.DataDisk_STATUS + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + detachOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20201201.ManagedDiskParameters_STATUS + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + storageAccountType: + type: string + type: object + name: + type: string + toBeDetached: + type: boolean + vhd: + description: |- + Storage version of v1api20201201.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20201201.ImageReference_STATUS + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exactVersion: + type: string + id: + type: string + offer: + type: string + publisher: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20201201.OSDisk_STATUS + Specifies information about the operating system disk used by the virtual machine. + For more information about + disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20201201.DiffDiskSettings_STATUS + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + encryptionSettings: + description: |- + Storage version of v1api20201201.DiskEncryptionSettings_STATUS + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20201201.KeyVaultKeyReference_STATUS + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20201201.ManagedDiskParameters_STATUS + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhd: + description: |- + Storage version of v1api20201201.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualMachineScaleSet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vmId: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachine.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalCapabilities: + description: 'AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.' + properties: + hibernationEnabled: + description: 'HibernationEnabled: The flag that enables or disables hibernation capability on the VM.' + type: boolean + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + applicationProfile: + description: 'ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS' + properties: + galleryApplications: + description: 'GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS' + items: + description: Specifies the required information to reference a compute gallery application version + properties: + configurationReference: + description: |- + ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the + package if provided + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be + automatically updated for the VM/VMSS + type: boolean + order: + description: 'Order: Optional, Specifies the order in which the packages have to be installed' + type: integer + packageReferenceReference: + description: |- + PackageReferenceReference: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + description: 'Tags: Optional, Specifies a passthrough value for more generic context.' + type: string + treatFailureAsDeploymentFailure: + description: |- + TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the + deployment + type: boolean + required: + - packageReferenceReference + type: object + type: array + type: object + availabilitySet: + description: |- + AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to. + Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For + more information about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). + For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates) + Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being + added should be under the same resource group as the availability set resource. An existing VM cannot be added to an + availability set. + This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot virtual machine. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + capacityReservation: + description: |- + CapacityReservation: Specifies information about the capacity reservation that is used to allocate virtual machine. + Minimum api-version: 2021-04-01. + properties: + capacityReservationGroup: + description: |- + CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the + virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to + https://aka.ms/CapacityReservation for more details. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as + the VM. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + enum: + - Deallocate + - Delete + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + hardwareProfile: + description: 'HardwareProfile: Specifies the hardware settings for the virtual machine.' + properties: + vmSize: + description: |- + VmSize: Specifies the size of the virtual machine. + The enum data type is currently deprecated and will be removed by December 23rd 2023. + Recommended way to get the list of available sizes is using these APIs: + [List all available virtual machine sizes in an availability + set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) + [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list) + [List all available virtual machine sizes for + resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about + virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). + The available VM sizes depend on region and availability set. + type: string + vmSizeProperties: + description: |- + VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: + 2021-07-01. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. + Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + properties: + vCPUsAvailable: + description: |- + VCPUsAvailable: Specifies the number of vCPUs available for the VM. + When this property is not specified in the request body the default behavior is to set it to the value of vCPUs + available for that VM size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) . + type: integer + vCPUsPerCore: + description: |- + VCPUsPerCore: Specifies the vCPU to physical core ratio. + When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the + VM Size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) + Setting this property to 1 also means that hyper-threading is disabled. + type: integer + type: object + type: object + host: + description: |- + Host: Specifies information about the dedicated host that the virtual machine resides in. + Minimum api-version: 2018-10-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine resides in. + Minimum api-version: 2020-06-01. + NOTE: User cannot specify both host and hostGroup properties. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the virtual machine, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the virtual machine. 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 + virtual machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Virtual Machine. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + location: + description: 'Location: Resource location' + type: string + networkProfile: + description: 'NetworkProfile: Specifies the network interfaces of the virtual machine.' + properties: + networkApiVersion: + description: |- + NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network + Interface Configurations + enum: + - "2020-11-01" + type: string + networkInterfaceConfigurations: + description: |- + NetworkInterfaceConfigurations: Specifies the networking configurations that will be used to create the virtual machine + networking resources. + items: + description: Describes a virtual machine network interface configurations. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + dscpConfiguration: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual + machines cannot use the same application gateway. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A virtual + machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines + cannot use the same basic sku load balancer]. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name + label is the concatenation of the domain name label and vm network profile unique ID. + type: string + required: + - domainNameLabel + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: Specify the public IP allocation type' + enum: + - Dynamic + - Static + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.' + properties: + name: + description: 'Name: Specify public IP sku name' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Specify public IP sku tier' + enum: + - Global + - Regional + type: string + type: object + required: + - name + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - name + type: object + type: array + name: + description: 'Name: The network interface configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + required: + - ipConfigurations + - name + type: object + type: array + networkInterfaces: + description: 'NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.' + items: + description: Describes a network interface reference. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + enum: + - Delete + - Detach + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osProfile: + description: |- + OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot + be changed once VM is provisioned. + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length (Windows): 8 characters + Minimum-length (Linux): 6 characters + Max-length (Windows): 123 characters + Max-length (Linux): 72 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows + VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) + For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess + Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + This property cannot be updated after the VM is created. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters. + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine. + This may only be set to False when no extensions are present on the virtual machine. + type: boolean + computerName: + description: |- + ComputerName: Specifies the host OS name of the virtual machine. + This name cannot be updated after the VM is created. + Max-length (Windows): 15 characters + Max-length (Linux): 64 characters. + For naming conventions and restrictions see [Azure infrastructure services implementation + guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + Note: Do not pass any secrets or passwords in customData property + This property cannot be updated after the VM is created. + customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure + VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/) + For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + enum: + - AutomaticByPlatform + - ImageDefault + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Linux. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + enum: + - Always + - IfRequired + - Never + - Unknown + type: string + type: object + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + enum: + - AutomaticByPlatform + - ImageDefault + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + description: 'RequireGuestProvisionSignal: Optional property which must either be set to True or omitted.' + type: boolean + secrets: + description: |- + Secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a + virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + enum: + - Microsoft-Windows-Shell-Setup + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + enum: + - OobeSystem + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + enum: + - AutoLogon + - FirstLogonCommands + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + enum: + - AutomaticByPlatform + - ImageDefault + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Windows. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + enum: + - Always + - IfRequired + - Never + - Unknown + type: string + type: object + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + enum: + - AutomaticByOS + - AutomaticByPlatform + - Manual + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time + zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + enum: + - Http + - Https + type: string + type: object + type: array + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomain: + description: |- + PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By + default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across + available fault domains. +
  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual + Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated + once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View. + Minimum api‐version: 2020‐12‐01 + type: integer + priority: + description: |- + Priority: Specifies the priority for the virtual machine. + Minimum api-version: 2019-03-01 + enum: + - Low + - Regular + - Spot + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be + assigned to. + Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machine.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable + UefiSettings. + Default: UefiSettings will not be enabled unless this property is set. + enum: + - ConfidentialVM + - TrustedLaunch + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether data disk should be deleted or detached upon VM deletion. + Possible values: + Delete If this value is used, the data disk is deleted when VM is deleted. + Detach If this value is used, the data disk is retained after VM is deleted. + The default value is set to detach + enum: + - Delete + - Detach + type: string + detachOption: + description: |- + DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of + detachment from the virtual machine. Supported values: ForceDetach. + detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk + did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use + force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed + when using this detach behavior. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk + update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + enum: + - ForceDetach + type: string + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + enum: + - DiskWithVMGuestState + - VMGuestStateOnly + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + toBeDetached: + description: 'ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset' + type: boolean + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + - lun + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + communityGalleryImageId: + description: |- + CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from + community gallery image GET call. + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: |- + SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared + gallery image GET call. + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image + deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just + set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage. + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether OS Disk should be deleted or detached upon VM deletion. + Possible values: + Delete If this value is used, the OS disk is deleted when VM is deleted. + Detach If this value is used, the os disk is retained after VM is deleted. + The default value is set to detach. For an ephemeral OS Disk, the default value is set to Delete. User cannot change the + delete option for ephemeral OS Disk. + enum: + - Delete + - Detach + type: string + diffDiskSettings: + description: 'DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.' + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + enum: + - Local + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and + Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + enum: + - CacheDisk + - ResourceDisk + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + enum: + - DiskWithVMGuestState + - VMGuestStateOnly + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + userData: + description: |- + UserData: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. + Minimum api-version: 2021-03-01 + type: string + virtualMachineScaleSet: + description: |- + VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be + assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to + maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM + cannot be added to a virtual machine scale set. + This property cannot exist along with a non-null properties.availabilitySet reference. + Minimum api‐version: 2019‐03‐01 + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: The virtual machine zones.' + items: + type: string + type: array + required: + - location + - owner + type: object + status: + description: Describes a Virtual Machine. + properties: + additionalCapabilities: + description: 'AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the virtual machine.' + properties: + hibernationEnabled: + description: 'HibernationEnabled: The flag that enables or disables hibernation capability on the VM.' + type: boolean + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + applicationProfile: + description: 'ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS' + properties: + galleryApplications: + description: 'GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS' + items: + description: Specifies the required information to reference a compute gallery application version + properties: + configurationReference: + description: |- + ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the + package if provided + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be + automatically updated for the VM/VMSS + type: boolean + order: + description: 'Order: Optional, Specifies the order in which the packages have to be installed' + type: integer + packageReferenceId: + description: |- + PackageReferenceId: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + type: string + tags: + description: 'Tags: Optional, Specifies a passthrough value for more generic context.' + type: string + treatFailureAsDeploymentFailure: + description: |- + TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the + deployment + type: boolean + type: object + type: array + type: object + availabilitySet: + description: |- + AvailabilitySet: Specifies information about the availability set that the virtual machine should be assigned to. + Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For + more information about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). + For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates) + Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being + added should be under the same resource group as the availability set resource. An existing VM cannot be added to an + availability set. + This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot virtual machine. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + capacityReservation: + description: |- + CapacityReservation: Specifies information about the capacity reservation that is used to allocate virtual machine. + Minimum api-version: 2021-04-01. + properties: + capacityReservationGroup: + description: |- + CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the + virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to + https://aka.ms/CapacityReservation for more details. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as + the VM. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + hardwareProfile: + description: 'HardwareProfile: Specifies the hardware settings for the virtual machine.' + properties: + vmSize: + description: |- + VmSize: Specifies the size of the virtual machine. + The enum data type is currently deprecated and will be removed by December 23rd 2023. + Recommended way to get the list of available sizes is using these APIs: + [List all available virtual machine sizes in an availability + set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) + [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list) + [List all available virtual machine sizes for + resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about + virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). + The available VM sizes depend on region and availability set. + type: string + vmSizeProperties: + description: |- + VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: + 2021-07-01. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. + Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + properties: + vCPUsAvailable: + description: |- + VCPUsAvailable: Specifies the number of vCPUs available for the VM. + When this property is not specified in the request body the default behavior is to set it to the value of vCPUs + available for that VM size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) . + type: integer + vCPUsPerCore: + description: |- + VCPUsPerCore: Specifies the vCPU to physical core ratio. + When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the + VM Size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) + Setting this property to 1 also means that hyper-threading is disabled. + type: integer + type: object + type: object + host: + description: |- + Host: Specifies information about the dedicated host that the virtual machine resides in. + Minimum api-version: 2018-10-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine resides in. + Minimum api-version: 2020-06-01. + NOTE: User cannot specify both host and hostGroup properties. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: The identity of the virtual machine, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of virtual machine identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the virtual machine. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the virtual machine. 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 + virtual machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Virtual Machine. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceView: + description: 'InstanceView: The virtual machine instance view.' + properties: + assignedHost: + description: |- + AssignedHost: Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, + when the virtual machine is associated with a dedicated host group that has automatic placement enabled. + Minimum api-version: 2020-06-01. + type: string + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + consoleScreenshotBlobUri: + description: |- + ConsoleScreenshotBlobUri: The console screenshot blob URI. + NOTE: This will not be set if boot diagnostics is currently enabled with managed storage. + type: string + serialConsoleLogBlobUri: + description: |- + SerialConsoleLogBlobUri: The serial console log blob Uri. + NOTE: This will not be set if boot diagnostics is currently enabled with managed storage. + type: string + status: + description: |- + Status: The boot diagnostics status information for the VM. + NOTE: It will be set only if there are errors encountered in enabling boot diagnostics. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: object + computerName: + description: 'ComputerName: The computer name assigned to the virtual machine.' + type: string + disks: + description: 'Disks: The virtual machine disk information.' + items: + description: The instance view of the disk. + properties: + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + items: + description: Describes a Encryption Settings for a Disk + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + name: + description: 'Name: The disk name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: object + type: array + extensions: + description: 'Extensions: The extensions information.' + items: + description: The instance view of a virtual machine extension. + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + hyperVGeneration: + description: 'HyperVGeneration: Specifies the HyperVGeneration Type associated with a resource' + type: string + maintenanceRedeployStatus: + description: 'MaintenanceRedeployStatus: The Maintenance Operation status on the virtual machine.' + properties: + isCustomerInitiatedMaintenanceAllowed: + description: 'IsCustomerInitiatedMaintenanceAllowed: True, if customer is allowed to perform Maintenance.' + type: boolean + lastOperationMessage: + description: 'LastOperationMessage: Message returned for the last Maintenance Operation.' + type: string + lastOperationResultCode: + description: 'LastOperationResultCode: The Last Maintenance Operation Result Code.' + type: string + maintenanceWindowEndTime: + description: 'MaintenanceWindowEndTime: End Time for the Maintenance Window.' + type: string + maintenanceWindowStartTime: + description: 'MaintenanceWindowStartTime: Start Time for the Maintenance Window.' + type: string + preMaintenanceWindowEndTime: + description: 'PreMaintenanceWindowEndTime: End Time for the Pre Maintenance Window.' + type: string + preMaintenanceWindowStartTime: + description: 'PreMaintenanceWindowStartTime: Start Time for the Pre Maintenance Window.' + type: string + type: object + osName: + description: 'OsName: The Operating System running on the virtual machine.' + type: string + osVersion: + description: 'OsVersion: The version of Operating System running on the virtual machine.' + type: string + patchStatus: + description: 'PatchStatus: [Preview Feature] The status of virtual machine patch operations.' + properties: + availablePatchSummary: + description: 'AvailablePatchSummary: The available patch summary of the latest assessment operation for the virtual machine.' + properties: + assessmentActivityId: + description: |- + AssessmentActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP and + extension logs. + type: string + criticalAndSecurityPatchCount: + description: |- + CriticalAndSecurityPatchCount: The number of critical or security patches that have been detected as available and not + yet installed. + type: integer + error: + description: 'Error: The errors that were encountered during execution of the operation. The details array contains the list of them.' + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + lastModifiedTime: + description: 'LastModifiedTime: The UTC timestamp when the operation began.' + type: string + otherPatchCount: + description: 'OtherPatchCount: The number of all available patches excluding critical and security.' + type: integer + rebootPending: + description: |- + RebootPending: The overall reboot status of the VM. It will be true when partially installed patches require a reboot to + complete installation but the reboot has not yet occurred. + type: boolean + startTime: + description: 'StartTime: The UTC timestamp when the operation began.' + type: string + status: + description: |- + Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. + At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + type: string + type: object + configurationStatuses: + description: 'ConfigurationStatuses: The enablement status of the specified patchMode' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + lastPatchInstallationSummary: + description: 'LastPatchInstallationSummary: The installation summary of the latest installation operation for the virtual machine.' + properties: + error: + description: 'Error: The errors that were encountered during execution of the operation. The details array contains the list of them.' + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + excludedPatchCount: + description: |- + ExcludedPatchCount: The number of all available patches but excluded explicitly by a customer-specified exclusion list + match. + type: integer + failedPatchCount: + description: 'FailedPatchCount: The count of patches that failed installation.' + type: integer + installationActivityId: + description: |- + InstallationActivityId: The activity ID of the operation that produced this result. It is used to correlate across CRP + and extension logs. + type: string + installedPatchCount: + description: 'InstalledPatchCount: The count of patches that successfully installed.' + type: integer + lastModifiedTime: + description: 'LastModifiedTime: The UTC timestamp when the operation began.' + type: string + maintenanceWindowExceeded: + description: 'MaintenanceWindowExceeded: Describes whether the operation ran out of time before it completed all its intended actions' + type: boolean + notSelectedPatchCount: + description: |- + NotSelectedPatchCount: The number of all available patches but not going to be installed because it didn't match a + classification or inclusion list entry. + type: integer + pendingPatchCount: + description: |- + PendingPatchCount: The number of all available patches expected to be installed over the course of the patch + installation operation. + type: integer + startTime: + description: 'StartTime: The UTC timestamp when the operation began.' + type: string + status: + description: |- + Status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. + At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + type: string + type: object + type: object + platformFaultDomain: + description: 'PlatformFaultDomain: Specifies the fault domain of the virtual machine.' + type: integer + platformUpdateDomain: + description: 'PlatformUpdateDomain: Specifies the update domain of the virtual machine.' + type: integer + rdpThumbPrint: + description: 'RdpThumbPrint: The Remote desktop certificate thumbprint.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + vmAgent: + description: 'VmAgent: The VM Agent running on the virtual machine.' + properties: + extensionHandlers: + description: 'ExtensionHandlers: The virtual machine extension handler instance view.' + items: + description: The instance view of a virtual machine extension handler. + properties: + status: + description: 'Status: The extension handler status.' + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + vmAgentVersion: + description: 'VmAgentVersion: The VM Agent full version.' + type: string + type: object + vmHealth: + description: 'VmHealth: The health status for the VM.' + properties: + status: + description: 'Status: The health status information for the VM.' + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: object + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + networkProfile: + description: 'NetworkProfile: Specifies the network interfaces of the virtual machine.' + properties: + networkApiVersion: + description: |- + NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network + Interface Configurations + type: string + networkInterfaceConfigurations: + description: |- + NetworkInterfaceConfigurations: Specifies the networking configurations that will be used to create the virtual machine + networking resources. + items: + description: Describes a virtual machine network interface configurations. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + dscpConfiguration: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual + machines cannot use the same application gateway. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A virtual + machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines + cannot use the same basic sku load balancer]. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name + label is the concatenation of the domain name label and vm network profile unique ID. + type: string + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: Specify the public IP allocation type' + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + sku: + description: 'Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.' + properties: + name: + description: 'Name: Specify public IP sku name' + type: string + tier: + description: 'Tier: Specify public IP sku tier' + type: string + type: object + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: array + name: + description: 'Name: The network interface configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + type: object + type: array + networkInterfaces: + description: 'NetworkInterfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine.' + items: + description: Describes a network interface reference. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + type: string + id: + description: 'Id: Resource Id' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + OsProfile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot + be changed once VM is provisioned. + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + This property cannot be updated after the VM is created. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters. + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine. + This may only be set to False when no extensions are present on the virtual machine. + type: boolean + computerName: + description: |- + ComputerName: Specifies the host OS name of the virtual machine. + This name cannot be updated after the VM is created. + Max-length (Windows): 15 characters + Max-length (Linux): 64 characters. + For naming conventions and restrictions see [Azure infrastructure services implementation + guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + Note: Do not pass any secrets or passwords in customData property + This property cannot be updated after the VM is created. + customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure + VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/) + For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Linux. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + type: string + type: object + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + description: 'RequireGuestProvisionSignal: Optional property which must either be set to True or omitted.' + type: boolean + secrets: + description: |- + Secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a + virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Windows. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + type: string + type: object + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time + zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + type: string + type: object + type: array + type: object + type: object + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomain: + description: |- + PlatformFaultDomain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By + default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across + available fault domains. +
  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual + Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated + once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View. + Minimum api‐version: 2020‐12‐01 + type: integer + priority: + description: |- + Priority: Specifies the priority for the virtual machine. + Minimum api-version: 2019-03-01 + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine should be + assigned to. + Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + resources: + description: 'Resources: The virtual machine child extension resources.' + items: + description: Describes a Virtual Machine Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + id: + description: 'Id: Resource Id' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machine.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable + UefiSettings. + Default: UefiSettings will not be enabled unless this property is set. + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether data disk should be deleted or detached upon VM deletion. + Possible values: + Delete If this value is used, the data disk is deleted when VM is deleted. + Detach If this value is used, the data disk is retained after VM is deleted. + The default value is set to detach + type: string + detachOption: + description: |- + DetachOption: Specifies the detach behavior to be used while detaching a disk or which is already in the process of + detachment from the virtual machine. Supported values: ForceDetach. + detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk + did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use + force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed + when using this detach behavior. + This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk + update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned + only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is + UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine + Scale Set. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + toBeDetached: + description: 'ToBeDetached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset' + type: boolean + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + communityGalleryImageId: + description: |- + CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from + community gallery image GET call. + type: string + exactVersion: + description: |- + ExactVersion: Specifies in decimal numbers, the version of platform image or marketplace image used to create the + virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + type: string + id: + description: 'Id: Resource Id' + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + sharedGalleryImageId: + description: |- + SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared + gallery image GET call. + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image + deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just + set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage. + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machine should be created. + Possible values are: + Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine. + FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a + platform image, you also use the imageReference element described above. If you are using a marketplace image, you also + use the plan element previously described. + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether OS Disk should be deleted or detached upon VM deletion. + Possible values: + Delete If this value is used, the OS disk is deleted when VM is deleted. + Detach If this value is used, the os disk is retained after VM is deleted. + The default value is set to detach. For an ephemeral OS Disk, the default value is set to Delete. User cannot change the + delete option for ephemeral OS Disk. + type: string + diffDiskSettings: + description: 'DiffDiskSettings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine.' + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and + Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + encryptionSettings: + description: |- + EncryptionSettings: Specifies the encryption settings for the OS Disk. + Minimum api-version: 2015-06-15 + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Specifies the location of the disk encryption key, which is a Key Vault Secret.' + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + enabled: + description: 'Enabled: Specifies whether disk encryption should be enabled on the virtual machine.' + type: boolean + keyEncryptionKey: + description: 'KeyEncryptionKey: Specifies the location of the key encryption key in Key Vault.' + properties: + keyUrl: + description: 'KeyUrl: The URL referencing a key encryption key in Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the key.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + image: + description: |- + Image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the + virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + type: string + vhd: + description: 'Vhd: The virtual hard disk.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + timeCreated: + description: |- + TimeCreated: Specifies the time at which the Virtual Machine resource was created. + Minimum api-version: 2022-03-01. + type: string + type: + description: 'Type: Resource type' + type: string + userData: + description: |- + UserData: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. + Minimum api-version: 2021-03-01 + type: string + virtualMachineScaleSet: + description: |- + VirtualMachineScaleSet: Specifies information about the virtual machine scale set that the virtual machine should be + assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to + maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM + cannot be added to a virtual machine scale set. + This property cannot exist along with a non-null properties.availabilitySet reference. + Minimum api‐version: 2019‐03‐01 + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vmId: + description: |- + VmId: Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS + and can be read using platform BIOS commands. + type: string + zones: + description: 'Zones: The virtual machine zones.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.VirtualMachine + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachine.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.VirtualMachine_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20220301.AdditionalCapabilities + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hibernationEnabled: + type: boolean + ultraSSDEnabled: + type: boolean + type: object + applicationProfile: + description: |- + Storage version of v1api20220301.ApplicationProfile + Contains the list of gallery applications that should be made available to the VM/VMSS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + galleryApplications: + items: + description: |- + Storage version of v1api20220301.VMGalleryApplication + Specifies the required information to reference a compute gallery application version + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationReference: + type: string + enableAutomaticUpgrade: + type: boolean + order: + type: integer + packageReferenceReference: + description: |- + PackageReferenceReference: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + type: string + treatFailureAsDeploymentFailure: + type: boolean + required: + - packageReferenceReference + type: object + type: array + type: object + availabilitySet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + billingProfile: + description: |- + Storage version of v1api20220301.BillingProfile + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + capacityReservation: + description: |- + Storage version of v1api20220301.CapacityReservationProfile + The parameters of a capacity reservation Profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20220301.DiagnosticsProfile + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20220301.BootDiagnostics + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + extensionsTimeBudget: + type: string + hardwareProfile: + description: |- + Storage version of v1api20220301.HardwareProfile + Specifies the hardware settings for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSize: + type: string + vmSizeProperties: + description: |- + Storage version of v1api20220301.VMSizeProperties + Specifies VM Size Property settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vCPUsAvailable: + type: integer + vCPUsPerCore: + type: integer + type: object + type: object + host: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20220301.VirtualMachineIdentity + Identity for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + licenseType: + type: string + location: + type: string + networkProfile: + description: |- + Storage version of v1api20220301.NetworkProfile + Specifies the network interfaces or the networking configuration of the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkApiVersion: + type: string + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceConfiguration + Describes a virtual machine network interface configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceDnsSettingsConfiguration + Describes a virtual machines network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + dscpConfiguration: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceIPConfiguration + Describes a virtual machine network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20220301.VirtualMachinePublicIPAddressConfiguration + Describes a virtual machines IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachinePublicIPAddressDnsSettingsConfiguration + Describes a virtual machines network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20220301.VirtualMachineIpTag + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20220301.PublicIPAddressSku + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: object + subnet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + type: boolean + type: object + type: array + networkInterfaces: + items: + description: |- + Storage version of v1api20220301.NetworkInterfaceReference + Describes a network interface reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + primary: + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220301.VirtualMachineOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osProfile: + description: |- + Storage version of v1api20220301.OSProfile + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is + provisioned. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerName: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20220301.LinuxConfiguration + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.LinuxPatchSettings + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.LinuxVMGuestPatchAutomaticByPlatformSettings + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20220301.SshConfiguration + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20220301.SshPublicKeySpec + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + type: boolean + secrets: + items: + description: |- + Storage version of v1api20220301.VaultSecretGroup + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20220301.VaultCertificate + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20220301.WindowsConfiguration + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20220301.AdditionalUnattendContent + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.PatchSettings + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.WindowsVMGuestPatchAutomaticByPlatformSettings + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20220301.WinRMConfiguration + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20220301.WinRMListener + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20220301.Plan + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomain: + type: integer + priority: + type: string + proximityPlacementGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsProfile: + description: Storage version of v1api20220301.ScheduledEventsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20220301.TerminateNotificationProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.SecurityProfile + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20220301.UefiSettings + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20220301.StorageProfile + Specifies the storage settings for the virtual machine disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.DataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + detachOption: + type: string + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20220301.ManagedDiskParameters + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + toBeDetached: + type: boolean + vhd: + description: |- + Storage version of v1api20220301.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20220301.ImageReference + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + offer: + type: string + publisher: + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20220301.OSDisk + Specifies information about the operating system disk used by the virtual machine. + For more information about + disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20220301.DiffDiskSettings + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + encryptionSettings: + description: |- + Storage version of v1api20220301.DiskEncryptionSettings + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultKeyReference + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20220301.ManagedDiskParameters + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhd: + description: |- + Storage version of v1api20220301.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + userData: + type: string + virtualMachineScaleSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.VirtualMachine_STATUS + Describes a Virtual Machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20220301.AdditionalCapabilities_STATUS + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hibernationEnabled: + type: boolean + ultraSSDEnabled: + type: boolean + type: object + applicationProfile: + description: |- + Storage version of v1api20220301.ApplicationProfile_STATUS + Contains the list of gallery applications that should be made available to the VM/VMSS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + galleryApplications: + items: + description: |- + Storage version of v1api20220301.VMGalleryApplication_STATUS + Specifies the required information to reference a compute gallery application version + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationReference: + type: string + enableAutomaticUpgrade: + type: boolean + order: + type: integer + packageReferenceId: + type: string + tags: + type: string + treatFailureAsDeploymentFailure: + type: boolean + type: object + type: array + type: object + availabilitySet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + billingProfile: + description: |- + Storage version of v1api20220301.BillingProfile_STATUS + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + capacityReservation: + description: |- + Storage version of v1api20220301.CapacityReservationProfile_STATUS + The parameters of a capacity reservation Profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + diagnosticsProfile: + description: |- + Storage version of v1api20220301.DiagnosticsProfile_STATUS + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20220301.BootDiagnostics_STATUS + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + extensionsTimeBudget: + type: string + hardwareProfile: + description: |- + Storage version of v1api20220301.HardwareProfile_STATUS + Specifies the hardware settings for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSize: + type: string + vmSizeProperties: + description: |- + Storage version of v1api20220301.VMSizeProperties_STATUS + Specifies VM Size Property settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vCPUsAvailable: + type: integer + vCPUsPerCore: + type: integer + type: object + type: object + host: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + hostGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20220301.VirtualMachineIdentity_STATUS + Identity for the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220301.VirtualMachineIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instanceView: + description: |- + Storage version of v1api20220301.VirtualMachineInstanceView_STATUS + The instance view of a virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedHost: + type: string + bootDiagnostics: + description: |- + Storage version of v1api20220301.BootDiagnosticsInstanceView_STATUS + The instance view of a virtual machine boot diagnostics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consoleScreenshotBlobUri: + type: string + serialConsoleLogBlobUri: + type: string + status: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: object + computerName: + type: string + disks: + items: + description: |- + Storage version of v1api20220301.DiskInstanceView_STATUS + The instance view of the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionSettings: + items: + description: |- + Storage version of v1api20220301.DiskEncryptionSettings_STATUS + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultKeyReference_STATUS + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: object + type: array + extensions: + items: + description: |- + Storage version of v1api20220301.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + hyperVGeneration: + type: string + maintenanceRedeployStatus: + description: |- + Storage version of v1api20220301.MaintenanceRedeployStatus_STATUS + Maintenance Operation Status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isCustomerInitiatedMaintenanceAllowed: + type: boolean + lastOperationMessage: + type: string + lastOperationResultCode: + type: string + maintenanceWindowEndTime: + type: string + maintenanceWindowStartTime: + type: string + preMaintenanceWindowEndTime: + type: string + preMaintenanceWindowStartTime: + type: string + type: object + osName: + type: string + osVersion: + type: string + patchStatus: + description: |- + Storage version of v1api20220301.VirtualMachinePatchStatus_STATUS + The status of virtual machine patch operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availablePatchSummary: + description: |- + Storage version of v1api20220301.AvailablePatchSummary_STATUS + Describes the properties of an virtual machine instance view for available patch summary. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentActivityId: + type: string + criticalAndSecurityPatchCount: + type: integer + error: + description: |- + Storage version of v1api20220301.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20220301.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20220301.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + lastModifiedTime: + type: string + otherPatchCount: + type: integer + rebootPending: + type: boolean + startTime: + type: string + status: + type: string + type: object + configurationStatuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + lastPatchInstallationSummary: + description: |- + Storage version of v1api20220301.LastPatchInstallationSummary_STATUS + Describes the properties of the last installed patch summary. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20220301.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: |- + Storage version of v1api20220301.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + innererror: + description: |- + Storage version of v1api20220301.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + excludedPatchCount: + type: integer + failedPatchCount: + type: integer + installationActivityId: + type: string + installedPatchCount: + type: integer + lastModifiedTime: + type: string + maintenanceWindowExceeded: + type: boolean + notSelectedPatchCount: + type: integer + pendingPatchCount: + type: integer + startTime: + type: string + status: + type: string + type: object + type: object + platformFaultDomain: + type: integer + platformUpdateDomain: + type: integer + rdpThumbPrint: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + vmAgent: + description: |- + Storage version of v1api20220301.VirtualMachineAgentInstanceView_STATUS + The instance view of the VM Agent running on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensionHandlers: + items: + description: |- + Storage version of v1api20220301.VirtualMachineExtensionHandlerInstanceView_STATUS + The instance view of a virtual machine extension handler. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + vmAgentVersion: + type: string + type: object + vmHealth: + description: |- + Storage version of v1api20220301.VirtualMachineHealthStatus_STATUS + The health status of the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: object + type: object + licenseType: + type: string + location: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20220301.NetworkProfile_STATUS + Specifies the network interfaces or the networking configuration of the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + networkApiVersion: + type: string + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceConfiguration_STATUS + Describes a virtual machine network interface configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceDnsSettingsConfiguration_STATUS + Describes a virtual machines network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + dscpConfiguration: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineNetworkInterfaceIPConfiguration_STATUS + Describes a virtual machine network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20220301.VirtualMachinePublicIPAddressConfiguration_STATUS + Describes a virtual machines IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachinePublicIPAddressDnsSettingsConfiguration_STATUS + Describes a virtual machines network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20220301.VirtualMachineIpTag_STATUS + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + sku: + description: |- + Storage version of v1api20220301.PublicIPAddressSku_STATUS + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: object + subnet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + primary: + type: boolean + type: object + type: array + networkInterfaces: + items: + description: |- + Storage version of v1api20220301.NetworkInterfaceReference_STATUS + Describes a network interface reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + id: + type: string + primary: + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20220301.OSProfile_STATUS + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is + provisioned. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerName: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20220301.LinuxConfiguration_STATUS + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.LinuxPatchSettings_STATUS + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.LinuxVMGuestPatchAutomaticByPlatformSettings_STATUS + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20220301.SshConfiguration_STATUS + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20220301.SshPublicKey_STATUS + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + requireGuestProvisionSignal: + type: boolean + secrets: + items: + description: |- + Storage version of v1api20220301.VaultSecretGroup_STATUS + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20220301.VaultCertificate_STATUS + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20220301.WindowsConfiguration_STATUS + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20220301.AdditionalUnattendContent_STATUS + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.PatchSettings_STATUS + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.WindowsVMGuestPatchAutomaticByPlatformSettings_STATUS + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20220301.WinRMConfiguration_STATUS + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20220301.WinRMListener_STATUS + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + plan: + description: |- + Storage version of v1api20220301.Plan_STATUS + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomain: + type: integer + priority: + type: string + provisioningState: + type: string + proximityPlacementGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resources: + items: + description: |- + Storage version of v1api20220301.VirtualMachineExtension_STATUS + Describes a Virtual Machine Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + instanceView: + description: |- + Storage version of v1api20220301.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + name: + type: string + properties_type: + type: string + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + scheduledEventsProfile: + description: Storage version of v1api20220301.ScheduledEventsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20220301.TerminateNotificationProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.SecurityProfile_STATUS + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20220301.UefiSettings_STATUS + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20220301.StorageProfile_STATUS + Specifies the storage settings for the virtual machine disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.DataDisk_STATUS + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + detachOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20220301.ManagedDiskParameters_STATUS + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile_STATUS + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + toBeDetached: + type: boolean + vhd: + description: |- + Storage version of v1api20220301.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20220301.ImageReference_STATUS + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + exactVersion: + type: string + id: + type: string + offer: + type: string + publisher: + type: string + sharedGalleryImageId: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20220301.OSDisk_STATUS + Specifies information about the operating system disk used by the virtual machine. + For more information about + disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20220301.DiffDiskSettings_STATUS + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + encryptionSettings: + description: |- + Storage version of v1api20220301.DiskEncryptionSettings_STATUS + Describes a Encryption Settings for a Disk + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + enabled: + type: boolean + keyEncryptionKey: + description: |- + Storage version of v1api20220301.KeyVaultKeyReference_STATUS + Describes a reference to Key Vault Key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20220301.ManagedDiskParameters_STATUS + The parameters of a managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile_STATUS + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhd: + description: |- + Storage version of v1api20220301.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + writeAcceleratorEnabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + userData: + type: string + virtualMachineScaleSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vmId: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualmachinescalesets.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: VirtualMachineScaleSet + listKind: VirtualMachineScaleSetList + plural: virtualmachinescalesets + singular: virtualmachinescaleset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalCapabilities: + description: |- + AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual + Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data + disks with UltraSSD_LRS storage account type. + properties: + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + automaticRepairsPolicy: + description: 'AutomaticRepairsPolicy: Policy for automatic repairs.' + properties: + enabled: + description: |- + Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is + false. + type: boolean + gracePeriod: + description: |- + GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time + starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should + be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default + value. The maximum allowed grace period is 90 minutes (PT90M). + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotRunExtensionsOnOverprovisionedVMs: + description: |- + DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested + number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra + overprovisioned VMs. + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine Scale Set.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in. + Minimum api-version: 2020-06-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the virtual machine scale set, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the virtual machine scale set. 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 virtual machine scale set. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the virtual machine scale set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestrationMode: + description: 'OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.' + enum: + - Flexible + - Uniform + type: string + overprovision: + description: 'Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.' + type: boolean + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count for each placement group.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set + should be assigned to. + Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scaleInPolicy: + description: |- + ScaleInPolicy: Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual + Machine Scale Set is scaled-in. + properties: + rules: + description: |- + Rules: The rules to be followed when scaling-in a virtual machine scale set. + Possible values are: + Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a + zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the + virtual machines chosen for removal will be the newest ones that are not protected from scale-in. + OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. + NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. + items: + enum: + - Default + - NewestVM + - OldestVM + type: string + type: array + type: object + singlePlacementGroup: + description: |- + SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines. + NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may + not be modified to true. + type: boolean + sku: + description: 'Sku: The virtual machine scale set sku.' + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + upgradePolicy: + description: 'UpgradePolicy: The upgrade policy.' + properties: + automaticOSUpgradePolicy: + description: 'AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.' + properties: + disableAutomaticRollback: + description: 'DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.' + type: boolean + enableAutomaticOSUpgrade: + description: |- + EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a + rolling fashion when a newer version of the OS image becomes available. Default value is false. + If this is set to true for Windows based scale sets, + [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) + is automatically set to false and cannot be set to true. + type: boolean + type: object + mode: + description: |- + Mode: Specifies the mode of an upgrade to virtual machines in the scale set. + Possible values are: + Manual - You control the application of updates to virtual machines in the scale set. You do this by using the + manualUpgrade action. + Automatic - All virtual machines in the scale set are automatically updated at the same time. + enum: + - Automatic + - Manual + - Rolling + type: string + rollingUpgradePolicy: + description: 'RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.' + properties: + enableCrossZoneUpgrade: + description: |- + EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration + the Update Domain and maxBatchInstancePercent to determine the batch size. + type: boolean + maxBatchInstancePercent: + description: |- + MaxBatchInstancePercent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by + the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the + percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + maximum: 100 + minimum: 5 + type: integer + maxUnhealthyInstancePercent: + description: |- + MaxUnhealthyInstancePercent: The maximum percentage of the total virtual machine instances in the scale set that can be + simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual + machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. + The default value for this parameter is 20%. + maximum: 100 + minimum: 5 + type: integer + maxUnhealthyUpgradedInstancePercent: + description: |- + MaxUnhealthyUpgradedInstancePercent: The maximum percentage of upgraded virtual machine instances that can be found to + be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the + rolling update aborts. The default value for this parameter is 20%. + maximum: 100 + minimum: 0 + type: integer + pauseTimeBetweenBatches: + description: |- + PauseTimeBetweenBatches: The wait time between completing the update for all virtual machines in one batch and starting + the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + type: string + prioritizeUnhealthyInstances: + description: 'PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.' + type: boolean + type: object + type: object + virtualMachineProfile: + description: 'VirtualMachineProfile: The virtual machine profile.' + properties: + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot VMSS. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + enum: + - Deallocate + - Delete + type: string + extensionProfile: + description: 'ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.' + properties: + extensions: + description: 'Extensions: The virtual machine scale set child extension resources.' + items: + description: Describes a Virtual Machine Scale Set Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + name: + description: 'Name: The name of the extension.' + type: string + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + networkProfile: + description: 'NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.' + properties: + healthProbe: + description: |- + HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine + scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + properties: + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkInterfaceConfigurations: + description: 'NetworkInterfaceConfigurations: The list of network configurations.' + items: + description: Describes a virtual machine scale set network profile's network configurations. + properties: + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine scale set network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot + use the same application gateway. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale + set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the + same basic sku load balancer. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatPools: + description: |- + LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set + can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same + basic sku load balancer. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name + labels of the PublicIPAddress resources that will be created + type: string + required: + - domainNameLabel + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - name + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - name + type: object + type: array + name: + description: 'Name: The network configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - ipConfigurations + - name + type: object + type: array + type: object + osProfile: + description: 'OsProfile: Specifies the operating system settings for the virtual machines in the scale set.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length (Windows): 8 characters + Minimum-length (Linux): 6 characters + Max-length (Windows): 123 characters + Max-length (Linux): 72 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows + VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) + For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess + Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters +
  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) +
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for + Linux on + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + computerNamePrefix: + description: |- + ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name + prefixes must be 1 to 15 characters long. + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + enum: + - AutomaticByPlatform + - ImageDefault + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + secrets: + description: 'Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set.' + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + enum: + - Microsoft-Windows-Shell-Setup + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + enum: + - OobeSystem + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + enum: + - AutoLogon + - FirstLogonCommands + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + enum: + - AutomaticByOS + - AutomaticByPlatform + - Manual + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from + time zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + enum: + - Http + - Https + type: string + type: object + type: array + type: object + type: object + type: object + priority: + description: |- + Priority: Specifies the priority for the virtual machines in the scale set. + Minimum api-version: 2017-10-30-preview + enum: + - Low + - Regular + - Spot + type: string + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. + Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch. + enum: + - TrustedLaunch + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + items: + description: Describes a virtual machine scale set data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: 'CreateOption: The create option.' + enum: + - Attach + - Empty + - FromImage + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is + UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when + StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + - lun + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machines in the scale set should be created. + The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual + machine. If you are using a platform image, you also use the imageReference element described above. If you are using a + marketplace image, you also use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + diffDiskSettings: + description: |- + DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale + set. + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + enum: + - Local + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes + and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a + cache disk. + enum: + - CacheDisk + - ResourceDisk + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size + of the disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: 'Image: Specifies information about the unmanaged user image to base the scale set on.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + vhdContainers: + description: 'VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.' + items: + type: string + type: array + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + type: object + type: object + type: object + zoneBalance: + description: 'ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.' + type: boolean + zones: + description: 'Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set' + items: + type: string + type: array + required: + - location + - owner + type: object + status: + description: Describes a Virtual Machine Scale Set. + properties: + additionalCapabilities: + description: |- + AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual + Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data + disks with UltraSSD_LRS storage account type. + properties: + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + automaticRepairsPolicy: + description: 'AutomaticRepairsPolicy: Policy for automatic repairs.' + properties: + enabled: + description: |- + Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is + false. + type: boolean + gracePeriod: + description: |- + GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time + starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should + be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default + value. The maximum allowed grace period is 90 minutes (PT90M). + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotRunExtensionsOnOverprovisionedVMs: + description: |- + DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested + number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra + overprovisioned VMs. + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine Scale Set.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in. + Minimum api-version: 2020-06-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: The identity of the virtual machine scale set, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of virtual machine scale set identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the virtual machine scale set. This property will only be provided for a system + assigned identity. + type: string + type: + description: |- + Type: The type of identity used for the virtual machine scale set. 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 virtual machine scale set. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the virtual machine scale set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + orchestrationMode: + description: 'OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.' + type: string + overprovision: + description: 'Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.' + type: boolean + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count for each placement group.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set + should be assigned to. + Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + scaleInPolicy: + description: |- + ScaleInPolicy: Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual + Machine Scale Set is scaled-in. + properties: + rules: + description: |- + Rules: The rules to be followed when scaling-in a virtual machine scale set. + Possible values are: + Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a + zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the + virtual machines chosen for removal will be the newest ones that are not protected from scale-in. + OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. + NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. + items: + type: string + type: array + type: object + singlePlacementGroup: + description: |- + SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines. + NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may + not be modified to true. + type: boolean + sku: + description: 'Sku: The virtual machine scale set sku.' + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Specifies the ID which uniquely identifies a Virtual Machine Scale Set.' + type: string + upgradePolicy: + description: 'UpgradePolicy: The upgrade policy.' + properties: + automaticOSUpgradePolicy: + description: 'AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.' + properties: + disableAutomaticRollback: + description: 'DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.' + type: boolean + enableAutomaticOSUpgrade: + description: |- + EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a + rolling fashion when a newer version of the OS image becomes available. Default value is false. + If this is set to true for Windows based scale sets, + [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) + is automatically set to false and cannot be set to true. + type: boolean + type: object + mode: + description: |- + Mode: Specifies the mode of an upgrade to virtual machines in the scale set. + Possible values are: + Manual - You control the application of updates to virtual machines in the scale set. You do this by using the + manualUpgrade action. + Automatic - All virtual machines in the scale set are automatically updated at the same time. + type: string + rollingUpgradePolicy: + description: 'RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.' + properties: + enableCrossZoneUpgrade: + description: |- + EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration + the Update Domain and maxBatchInstancePercent to determine the batch size. + type: boolean + maxBatchInstancePercent: + description: |- + MaxBatchInstancePercent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by + the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the + percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + type: integer + maxUnhealthyInstancePercent: + description: |- + MaxUnhealthyInstancePercent: The maximum percentage of the total virtual machine instances in the scale set that can be + simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual + machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. + The default value for this parameter is 20%. + type: integer + maxUnhealthyUpgradedInstancePercent: + description: |- + MaxUnhealthyUpgradedInstancePercent: The maximum percentage of upgraded virtual machine instances that can be found to + be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the + rolling update aborts. The default value for this parameter is 20%. + type: integer + pauseTimeBetweenBatches: + description: |- + PauseTimeBetweenBatches: The wait time between completing the update for all virtual machines in one batch and starting + the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + type: string + prioritizeUnhealthyInstances: + description: 'PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.' + type: boolean + type: object + type: object + virtualMachineProfile: + description: 'VirtualMachineProfile: The virtual machine profile.' + properties: + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot VMSS. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + type: string + extensionProfile: + description: 'ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.' + properties: + extensions: + description: 'Extensions: The virtual machine scale set child extension resources.' + items: + description: Describes a Virtual Machine Scale Set Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: The name of the extension.' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + networkProfile: + description: 'NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.' + properties: + healthProbe: + description: |- + HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine + scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + properties: + id: + description: 'Id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + type: string + type: object + networkInterfaceConfigurations: + description: 'NetworkInterfaceConfigurations: The list of network configurations.' + items: + description: Describes a virtual machine scale set network profile's network configurations. + properties: + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + id: + description: 'Id: Resource Id' + type: string + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine scale set network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot + use the same application gateway. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + id: + description: 'Id: Resource Id' + type: string + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale + set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the + same basic sku load balancer. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + loadBalancerInboundNatPools: + description: |- + LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set + can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same + basic sku load balancer. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name + labels of the PublicIPAddress resources that will be created + type: string + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + id: + description: 'Id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + type: string + type: object + type: object + type: array + name: + description: 'Name: The network configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + type: object + type: array + type: object + osProfile: + description: 'OsProfile: Specifies the operating system settings for the virtual machines in the scale set.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters +
  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) +
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for + Linux on + Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + computerNamePrefix: + description: |- + ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name + prefixes must be 1 to 15 characters long. + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + secrets: + description: 'Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set.' + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from + time zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + type: string + type: object + type: array + type: object + type: object + type: object + priority: + description: |- + Priority: Specifies the priority for the virtual machines in the scale set. + Minimum api-version: 2017-10-30-preview + type: string + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. + Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch. + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + items: + description: Describes a virtual machine scale set data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: 'CreateOption: The create option.' + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is + UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when + StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + exactVersion: + description: |- + ExactVersion: Specifies in decimal numbers, the version of platform image or marketplace image used to create the + virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + type: string + id: + description: 'Id: Resource Id' + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machines in the scale set should be created. + The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual + machine. If you are using a platform image, you also use the imageReference element described above. If you are using a + marketplace image, you also use the plan element previously described. + type: string + diffDiskSettings: + description: |- + DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale + set. + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes + and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a + cache disk. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size + of the disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: 'Image: Specifies information about the unmanaged user image to base the scale set on.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + type: string + vhdContainers: + description: 'VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.' + items: + type: string + type: array + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: object + type: object + zoneBalance: + description: 'ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.' + type: boolean + zones: + description: 'Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.VirtualMachineScaleSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20201201.AdditionalCapabilities + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ultraSSDEnabled: + type: boolean + type: object + automaticRepairsPolicy: + description: |- + Storage version of v1api20201201.AutomaticRepairsPolicy + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + gracePeriod: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotRunExtensionsOnOverprovisionedVMs: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20201201.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostGroup: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIdentity + Identity for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20201201.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestrationMode: + type: string + originalVersion: + type: string + overprovision: + type: boolean + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20201201.Plan + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scaleInPolicy: + description: |- + Storage version of v1api20201201.ScaleInPolicy + Describes a scale-in policy for a virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + type: string + type: array + type: object + singlePlacementGroup: + type: boolean + sku: + description: |- + Storage version of v1api20201201.Sku + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + upgradePolicy: + description: |- + Storage version of v1api20201201.UpgradePolicy + Describes an upgrade policy - automatic, manual, or rolling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticOSUpgradePolicy: + description: |- + Storage version of v1api20201201.AutomaticOSUpgradePolicy + The configuration parameters used for performing automatic OS upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableAutomaticRollback: + type: boolean + enableAutomaticOSUpgrade: + type: boolean + type: object + mode: + type: string + rollingUpgradePolicy: + description: |- + Storage version of v1api20201201.RollingUpgradePolicy + The configuration parameters used while performing a rolling upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableCrossZoneUpgrade: + type: boolean + maxBatchInstancePercent: + type: integer + maxUnhealthyInstancePercent: + type: integer + maxUnhealthyUpgradedInstancePercent: + type: integer + pauseTimeBetweenBatches: + type: string + prioritizeUnhealthyInstances: + type: boolean + type: object + type: object + virtualMachineProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetVMProfile + Describes a virtual machine scale set virtual machine profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + billingProfile: + description: |- + Storage version of v1api20201201.BillingProfile + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20201201.DiagnosticsProfile + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20201201.BootDiagnostics + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extensionProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetExtensionProfile + Describes a virtual machine scale set extension profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensions: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetExtension + Describes a Virtual Machine Scale Set Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + name: + type: string + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + provisionAfterExtensions: + items: + type: string + type: array + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + extensionsTimeBudget: + type: string + type: object + licenseType: + type: string + networkProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkProfile + Describes a virtual machine scale set network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbe: + description: |- + Storage version of v1api20201201.ApiEntityReference + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkConfiguration + Describes a virtual machine scale set network profile's network configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsSettings: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkConfigurationDnsSettings + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIPConfiguration + Describes a virtual machine scale set network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatPools: + items: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetPublicIPAddressConfiguration + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsSettings: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIpTag + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPPrefix: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subnet: + description: |- + Storage version of v1api20201201.ApiEntityReference + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetOSProfile + Describes a virtual machine scale set OS profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + computerNamePrefix: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20201201.LinuxConfiguration + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.LinuxPatchSettings + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20201201.SshConfiguration + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20201201.SshPublicKeySpec + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20201201.VaultSecretGroup + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20201201.VaultCertificate + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20201201.WindowsConfiguration + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20201201.AdditionalUnattendContent + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.PatchSettings + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20201201.WinRMConfiguration + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20201201.WinRMListener + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + priority: + type: string + scheduledEventsProfile: + description: Storage version of v1api20201201.ScheduledEventsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20201201.TerminateNotificationProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20201201.SecurityProfile + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20201201.UefiSettings + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetStorageProfile + Describes a virtual machine scale set storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetDataDisk + Describes a virtual machine scale set data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetManagedDiskParameters + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + name: + type: string + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20201201.ImageReference + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + offer: + type: string + publisher: + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetOSDisk + Describes a virtual machine scale set operating system disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20201201.DiffDiskSettings + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetManagedDiskParameters + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhdContainers: + items: + type: string + type: array + writeAcceleratorEnabled: + type: boolean + type: object + type: object + type: object + zoneBalance: + type: boolean + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSet_STATUS + Describes a Virtual Machine Scale Set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20201201.AdditionalCapabilities_STATUS + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ultraSSDEnabled: + type: boolean + type: object + automaticRepairsPolicy: + description: |- + Storage version of v1api20201201.AutomaticRepairsPolicy_STATUS + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + gracePeriod: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotRunExtensionsOnOverprovisionedVMs: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20201201.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostGroup: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIdentity_STATUS + Identity for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20201201.VirtualMachineScaleSetIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + orchestrationMode: + type: string + overprovision: + type: boolean + plan: + description: |- + Storage version of v1api20201201.Plan_STATUS + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomainCount: + type: integer + provisioningState: + type: string + proximityPlacementGroup: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + scaleInPolicy: + description: |- + Storage version of v1api20201201.ScaleInPolicy_STATUS + Describes a scale-in policy for a virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + type: string + type: array + type: object + singlePlacementGroup: + type: boolean + sku: + description: |- + Storage version of v1api20201201.Sku_STATUS + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + uniqueId: + type: string + upgradePolicy: + description: |- + Storage version of v1api20201201.UpgradePolicy_STATUS + Describes an upgrade policy - automatic, manual, or rolling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticOSUpgradePolicy: + description: |- + Storage version of v1api20201201.AutomaticOSUpgradePolicy_STATUS + The configuration parameters used for performing automatic OS upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableAutomaticRollback: + type: boolean + enableAutomaticOSUpgrade: + type: boolean + type: object + mode: + type: string + rollingUpgradePolicy: + description: |- + Storage version of v1api20201201.RollingUpgradePolicy_STATUS + The configuration parameters used while performing a rolling upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableCrossZoneUpgrade: + type: boolean + maxBatchInstancePercent: + type: integer + maxUnhealthyInstancePercent: + type: integer + maxUnhealthyUpgradedInstancePercent: + type: integer + pauseTimeBetweenBatches: + type: string + prioritizeUnhealthyInstances: + type: boolean + type: object + type: object + virtualMachineProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetVMProfile_STATUS + Describes a virtual machine scale set virtual machine profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + billingProfile: + description: |- + Storage version of v1api20201201.BillingProfile_STATUS + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20201201.DiagnosticsProfile_STATUS + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20201201.BootDiagnostics_STATUS + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extensionProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetExtensionProfile_STATUS + Describes a virtual machine scale set extension profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensions: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetExtension_STATUS + Describes a Virtual Machine Scale Set Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + name: + type: string + properties_type: + type: string + provisionAfterExtensions: + items: + type: string + type: array + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + extensionsTimeBudget: + type: string + type: object + licenseType: + type: string + networkProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkProfile_STATUS + Describes a virtual machine scale set network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbe: + description: |- + Storage version of v1api20201201.ApiEntityReference_STATUS + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkConfiguration_STATUS + Describes a virtual machine scale set network profile's network configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsSettings: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetNetworkConfigurationDnsSettings_STATUS + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIPConfiguration_STATUS + Describes a virtual machine scale set network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatPools: + items: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetPublicIPAddressConfiguration_STATUS + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsSettings: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings_STATUS + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetIpTag_STATUS + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPPrefix: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201201.ApiEntityReference_STATUS + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + primary: + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetOSProfile_STATUS + Describes a virtual machine scale set OS profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + computerNamePrefix: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20201201.LinuxConfiguration_STATUS + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) + For running non-endorsed distributions, see [Information for Non-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.LinuxPatchSettings_STATUS + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20201201.SshConfiguration_STATUS + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20201201.SshPublicKey_STATUS + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20201201.VaultSecretGroup_STATUS + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20201201.VaultCertificate_STATUS + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20201201.WindowsConfiguration_STATUS + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20201201.AdditionalUnattendContent_STATUS + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20201201.PatchSettings_STATUS + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20201201.WinRMConfiguration_STATUS + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20201201.WinRMListener_STATUS + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + priority: + type: string + scheduledEventsProfile: + description: Storage version of v1api20201201.ScheduledEventsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20201201.TerminateNotificationProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20201201.SecurityProfile_STATUS + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20201201.UefiSettings_STATUS + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetStorageProfile_STATUS + Describes a virtual machine scale set storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetDataDisk_STATUS + Describes a virtual machine scale set data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetManagedDiskParameters_STATUS + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20201201.ImageReference_STATUS + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exactVersion: + type: string + id: + type: string + offer: + type: string + publisher: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetOSDisk_STATUS + Describes a virtual machine scale set operating system disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20201201.DiffDiskSettings_STATUS + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20201201.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetManagedDiskParameters_STATUS + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20201201.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhdContainers: + items: + type: string + type: array + writeAcceleratorEnabled: + type: boolean + type: object + type: object + type: object + zoneBalance: + type: boolean + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachineScaleSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalCapabilities: + description: |- + AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual + Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data + disks with UltraSSD_LRS storage account type. + properties: + hibernationEnabled: + description: 'HibernationEnabled: The flag that enables or disables hibernation capability on the VM.' + type: boolean + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + automaticRepairsPolicy: + description: 'AutomaticRepairsPolicy: Policy for automatic repairs.' + properties: + enabled: + description: |- + Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is + false. + type: boolean + gracePeriod: + description: |- + GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time + starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should + be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default + value. The maximum allowed grace period is 90 minutes (PT90M). + type: string + repairAction: + description: |- + RepairAction: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual + machines in the scale set. Default value is replace. + enum: + - Reimage + - Replace + - Restart + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotRunExtensionsOnOverprovisionedVMs: + description: |- + DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested + number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra + overprovisioned VMs. + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine Scale Set.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in. + Minimum api-version: 2020-06-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the virtual machine scale set, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the virtual machine scale set. 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 virtual machine scale set. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the virtual machine scale set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestrationMode: + description: 'OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.' + enum: + - Flexible + - Uniform + type: string + overprovision: + description: 'Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.' + type: boolean + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count for each placement group.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set + should be assigned to. + Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scaleInPolicy: + description: 'ScaleInPolicy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.' + properties: + forceDeletion: + description: |- + ForceDeletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when + a virtual machine scale set is being scaled-in.(Feature in Preview) + type: boolean + rules: + description: |- + Rules: The rules to be followed when scaling-in a virtual machine scale set. + Possible values are: + Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a + zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the + virtual machines chosen for removal will be the newest ones that are not protected from scale-in. + OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. + NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. + items: + enum: + - Default + - NewestVM + - OldestVM + type: string + type: array + type: object + singlePlacementGroup: + description: |- + SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines. + NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may + not be modified to true. + type: boolean + sku: + description: 'Sku: The virtual machine scale set sku.' + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + spotRestorePolicy: + description: 'SpotRestorePolicy: Specifies the Spot Restore properties for the virtual machine scale set.' + properties: + enabled: + description: |- + Enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored + opportunistically based on capacity availability and pricing constraints + type: boolean + restoreTimeout: + description: |- + RestoreTimeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore + the VMSS SPOT instances + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + upgradePolicy: + description: 'UpgradePolicy: The upgrade policy.' + properties: + automaticOSUpgradePolicy: + description: 'AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.' + properties: + disableAutomaticRollback: + description: 'DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.' + type: boolean + enableAutomaticOSUpgrade: + description: |- + EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a + rolling fashion when a newer version of the OS image becomes available. Default value is false. + If this is set to true for Windows based scale sets, + [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) + is automatically set to false and cannot be set to true. + type: boolean + useRollingUpgradePolicy: + description: |- + UseRollingUpgradePolicy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value + is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + type: boolean + type: object + mode: + description: |- + Mode: Specifies the mode of an upgrade to virtual machines in the scale set. + Possible values are: + Manual - You control the application of updates to virtual machines in the scale set. You do this by using the + manualUpgrade action. + Automatic - All virtual machines in the scale set are automatically updated at the same time. + enum: + - Automatic + - Manual + - Rolling + type: string + rollingUpgradePolicy: + description: 'RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.' + properties: + enableCrossZoneUpgrade: + description: |- + EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration + the Update Domain and maxBatchInstancePercent to determine the batch size. + type: boolean + maxBatchInstancePercent: + description: |- + MaxBatchInstancePercent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by + the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the + percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + maximum: 100 + minimum: 5 + type: integer + maxUnhealthyInstancePercent: + description: |- + MaxUnhealthyInstancePercent: The maximum percentage of the total virtual machine instances in the scale set that can be + simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual + machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. + The default value for this parameter is 20%. + maximum: 100 + minimum: 5 + type: integer + maxUnhealthyUpgradedInstancePercent: + description: |- + MaxUnhealthyUpgradedInstancePercent: The maximum percentage of upgraded virtual machine instances that can be found to + be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the + rolling update aborts. The default value for this parameter is 20%. + maximum: 100 + minimum: 0 + type: integer + pauseTimeBetweenBatches: + description: |- + PauseTimeBetweenBatches: The wait time between completing the update for all virtual machines in one batch and starting + the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + type: string + prioritizeUnhealthyInstances: + description: 'PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.' + type: boolean + type: object + type: object + virtualMachineProfile: + description: 'VirtualMachineProfile: The virtual machine profile.' + properties: + applicationProfile: + description: 'ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS' + properties: + galleryApplications: + description: 'GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS' + items: + description: Specifies the required information to reference a compute gallery application version + properties: + configurationReference: + description: |- + ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the + package if provided + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be + automatically updated for the VM/VMSS + type: boolean + order: + description: 'Order: Optional, Specifies the order in which the packages have to be installed' + type: integer + packageReferenceReference: + description: |- + PackageReferenceReference: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + description: 'Tags: Optional, Specifies a passthrough value for more generic context.' + type: string + treatFailureAsDeploymentFailure: + description: |- + TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the + deployment + type: boolean + required: + - packageReferenceReference + type: object + type: array + type: object + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot VMSS. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + capacityReservation: + description: |- + CapacityReservation: Specifies the capacity reservation related details of a scale set. + Minimum api-version: 2021-04-01. + properties: + capacityReservationGroup: + description: |- + CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the + virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to + https://aka.ms/CapacityReservation for more details. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as + the VM. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + enum: + - Deallocate + - Delete + type: string + extensionProfile: + description: 'ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.' + properties: + extensions: + description: 'Extensions: The virtual machine scale set child extension resources.' + items: + description: Describes a Virtual Machine Scale Set Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + name: + description: 'Name: The name of the extension.' + type: string + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + type: object + hardwareProfile: + description: |- + HardwareProfile: Specifies the hardware profile related details of a scale set. + Minimum api-version: 2022-03-01. + properties: + vmSizeProperties: + description: |- + VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: + 2022-03-01. + Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + properties: + vCPUsAvailable: + description: |- + VCPUsAvailable: Specifies the number of vCPUs available for the VM. + When this property is not specified in the request body the default behavior is to set it to the value of vCPUs + available for that VM size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) . + type: integer + vCPUsPerCore: + description: |- + VCPUsPerCore: Specifies the vCPU to physical core ratio. + When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the + VM Size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) + Setting this property to 1 also means that hyper-threading is disabled. + type: integer + type: object + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + networkProfile: + description: 'NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.' + properties: + healthProbe: + description: |- + HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine + scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + properties: + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkApiVersion: + description: |- + NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network + Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + enum: + - "2020-11-01" + type: string + networkInterfaceConfigurations: + description: 'NetworkInterfaceConfigurations: The list of network configurations.' + items: + description: Describes a virtual machine scale set network profile's network configurations. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine scale set network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot + use the same application gateway. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale + set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the + same basic sku load balancer. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatPools: + description: |- + LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set + can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same + basic sku load balancer. + items: + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP when the VM is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name + labels of the PublicIPAddress resources that will be created + type: string + required: + - domainNameLabel + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + enum: + - IPv4 + - IPv6 + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.' + properties: + name: + description: 'Name: Specify public IP sku name' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Specify public IP sku tier' + enum: + - Global + - Regional + type: string + type: object + required: + - name + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - name + type: object + type: array + name: + description: 'Name: The network configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - ipConfigurations + - name + type: object + type: array + type: object + osProfile: + description: 'OsProfile: Specifies the operating system settings for the virtual machines in the scale set.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length (Windows): 8 characters + Minimum-length (Linux): 6 characters + Max-length (Windows): 123 characters + Max-length (Linux): 72 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows + VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) + For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess + Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine scale set. + This may only be set to False when no extensions are present on the virtual machine scale set. + type: boolean + computerNamePrefix: + description: |- + ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name + prefixes must be 1 to 15 characters long. + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + enum: + - AutomaticByPlatform + - ImageDefault + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Linux. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + enum: + - Always + - IfRequired + - Never + - Unknown + type: string + type: object + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + enum: + - AutomaticByPlatform + - ImageDefault + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + secrets: + description: |- + Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install + certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + enum: + - Microsoft-Windows-Shell-Setup + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + enum: + - OobeSystem + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + enum: + - AutoLogon + - FirstLogonCommands + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + enum: + - AutomaticByPlatform + - ImageDefault + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Windows. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + enum: + - Always + - IfRequired + - Never + - Unknown + type: string + type: object + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + enum: + - AutomaticByOS + - AutomaticByPlatform + - Manual + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time + zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + enum: + - Http + - Https + type: string + type: object + type: array + type: object + type: object + type: object + priority: + description: |- + Priority: Specifies the priority for the virtual machines in the scale set. + Minimum api-version: 2017-10-30-preview + enum: + - Low + - Regular + - Spot + type: string + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable + UefiSettings. + Default: UefiSettings will not be enabled unless this property is set. + enum: + - ConfidentialVM + - TrustedLaunch + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a virtual machine scale set data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: 'CreateOption: The create option.' + enum: + - Attach + - Empty + - FromImage + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is + available for VMSS with Flexible OrchestrationMode only). + Possible values: + Delete If this value is used, the data disk is deleted when the VMSS Flex VM is deleted. + Detach If this value is used, the data disk is retained after VMSS Flex VM is deleted. + The default value is set to Delete. + enum: + - Delete + - Detach + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is + UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when + StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + enum: + - DiskWithVMGuestState + - VMGuestStateOnly + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + - lun + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + communityGalleryImageId: + description: |- + CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from + community gallery image GET call. + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: |- + SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared + gallery image GET call. + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image + deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just + set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machines in the scale set should be created. + The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual + machine. If you are using a platform image, you also use the imageReference element described above. If you are using a + marketplace image, you also use the plan element previously described. + enum: + - Attach + - Empty + - FromImage + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available + for VMSS with Flexible OrchestrationMode only). + Possible values: + Delete If this value is used, the OS disk is deleted when VMSS Flex VM is deleted. + Detach If this value is used, the OS disk is retained after VMSS Flex VM is deleted. + The default value is set to Delete. For an Ephemeral OS Disk, the default value is set to Delete. User cannot change the + delete option for Ephemeral OS Disk. + enum: + - Delete + - Detach + type: string + diffDiskSettings: + description: |- + DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale + set. + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + enum: + - Local + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and + Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + enum: + - CacheDisk + - ResourceDisk + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size + of the disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: 'Image: Specifies information about the unmanaged user image to base the scale set on.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + enum: + - DiskWithVMGuestState + - VMGuestStateOnly + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + vhdContainers: + description: 'VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.' + items: + type: string + type: array + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + required: + - createOption + type: object + type: object + userData: + description: |- + UserData: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass + any secrets in here. + Minimum api-version: 2021-03-01 + type: string + type: object + zoneBalance: + description: |- + ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. + zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no + zones or only one zone specified, then zoneBalance property should not be set. + type: boolean + zones: + description: 'Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set' + items: + type: string + type: array + required: + - location + - owner + type: object + status: + description: Describes a Virtual Machine Scale Set. + properties: + additionalCapabilities: + description: |- + AdditionalCapabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual + Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data + disks with UltraSSD_LRS storage account type. + properties: + hibernationEnabled: + description: 'HibernationEnabled: The flag that enables or disables hibernation capability on the VM.' + type: boolean + ultraSSDEnabled: + description: |- + UltraSSDEnabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS + storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual + machine or virtual machine scale set only if this property is enabled. + type: boolean + type: object + automaticRepairsPolicy: + description: 'AutomaticRepairsPolicy: Policy for automatic repairs.' + properties: + enabled: + description: |- + Enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is + false. + type: boolean + gracePeriod: + description: |- + GracePeriod: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time + starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should + be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default + value. The maximum allowed grace period is 90 minutes (PT90M). + type: string + repairAction: + description: |- + RepairAction: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual + machines in the scale set. Default value is replace. + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotRunExtensionsOnOverprovisionedVMs: + description: |- + DoNotRunExtensionsOnOverprovisionedVMs: When Overprovision is enabled, extensions are launched only on the requested + number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra + overprovisioned VMs. + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine Scale Set.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostGroup: + description: |- + HostGroup: Specifies information about the dedicated host group that the virtual machine scale set resides in. + Minimum api-version: 2020-06-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: The identity of the virtual machine scale set, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of virtual machine scale set identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the virtual machine scale set. This property will only be provided for a system + assigned identity. + type: string + type: + description: |- + Type: The type of identity used for the virtual machine scale set. 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 virtual machine scale set. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the virtual machine scale set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + orchestrationMode: + description: 'OrchestrationMode: Specifies the orchestration mode for the virtual machine scale set.' + type: string + overprovision: + description: 'Overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned.' + type: boolean + plan: + description: |- + Plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used + for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic + use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy + programmatically, Get Started ->. Enter any required information and then click Save. + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The promotion code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count for each placement group.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the virtual machine scale set + should be assigned to. + Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + scaleInPolicy: + description: 'ScaleInPolicy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.' + properties: + forceDeletion: + description: |- + ForceDeletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when + a virtual machine scale set is being scaled-in.(Feature in Preview) + type: boolean + rules: + description: |- + Rules: The rules to be followed when scaling-in a virtual machine scale set. + Possible values are: + Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a + zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the + virtual machines chosen for removal will be the newest ones that are not protected from scale-in. + OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. + NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from + scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across + zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. + items: + type: string + type: array + type: object + singlePlacementGroup: + description: |- + SinglePlacementGroup: When true this limits the scale set to a single placement group, of max size 100 virtual machines. + NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may + not be modified to true. + type: boolean + sku: + description: 'Sku: The virtual machine scale set sku.' + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + spotRestorePolicy: + description: 'SpotRestorePolicy: Specifies the Spot Restore properties for the virtual machine scale set.' + properties: + enabled: + description: |- + Enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored + opportunistically based on capacity availability and pricing constraints + type: boolean + restoreTimeout: + description: |- + RestoreTimeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore + the VMSS SPOT instances + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + timeCreated: + description: |- + TimeCreated: Specifies the time at which the Virtual Machine Scale Set resource was created. + Minimum api-version: 2022-03-01. + type: string + type: + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Specifies the ID which uniquely identifies a Virtual Machine Scale Set.' + type: string + upgradePolicy: + description: 'UpgradePolicy: The upgrade policy.' + properties: + automaticOSUpgradePolicy: + description: 'AutomaticOSUpgradePolicy: Configuration parameters used for performing automatic OS Upgrade.' + properties: + disableAutomaticRollback: + description: 'DisableAutomaticRollback: Whether OS image rollback feature should be disabled. Default value is false.' + type: boolean + enableAutomaticOSUpgrade: + description: |- + EnableAutomaticOSUpgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a + rolling fashion when a newer version of the OS image becomes available. Default value is false. + If this is set to true for Windows based scale sets, + [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) + is automatically set to false and cannot be set to true. + type: boolean + useRollingUpgradePolicy: + description: |- + UseRollingUpgradePolicy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value + is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + type: boolean + type: object + mode: + description: |- + Mode: Specifies the mode of an upgrade to virtual machines in the scale set. + Possible values are: + Manual - You control the application of updates to virtual machines in the scale set. You do this by using the + manualUpgrade action. + Automatic - All virtual machines in the scale set are automatically updated at the same time. + type: string + rollingUpgradePolicy: + description: 'RollingUpgradePolicy: The configuration parameters used while performing a rolling upgrade.' + properties: + enableCrossZoneUpgrade: + description: |- + EnableCrossZoneUpgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration + the Update Domain and maxBatchInstancePercent to determine the batch size. + type: boolean + maxBatchInstancePercent: + description: |- + MaxBatchInstancePercent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by + the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the + percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + type: integer + maxUnhealthyInstancePercent: + description: |- + MaxUnhealthyInstancePercent: The maximum percentage of the total virtual machine instances in the scale set that can be + simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual + machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. + The default value for this parameter is 20%. + type: integer + maxUnhealthyUpgradedInstancePercent: + description: |- + MaxUnhealthyUpgradedInstancePercent: The maximum percentage of upgraded virtual machine instances that can be found to + be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the + rolling update aborts. The default value for this parameter is 20%. + type: integer + pauseTimeBetweenBatches: + description: |- + PauseTimeBetweenBatches: The wait time between completing the update for all virtual machines in one batch and starting + the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + type: string + prioritizeUnhealthyInstances: + description: 'PrioritizeUnhealthyInstances: Upgrade all unhealthy instances in a scale set before any healthy instances.' + type: boolean + type: object + type: object + virtualMachineProfile: + description: 'VirtualMachineProfile: The virtual machine profile.' + properties: + applicationProfile: + description: 'ApplicationProfile: Specifies the gallery applications that should be made available to the VM/VMSS' + properties: + galleryApplications: + description: 'GalleryApplications: Specifies the gallery applications that should be made available to the VM/VMSS' + items: + description: Specifies the required information to reference a compute gallery application version + properties: + configurationReference: + description: |- + ConfigurationReference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the + package if provided + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be + automatically updated for the VM/VMSS + type: boolean + order: + description: 'Order: Optional, Specifies the order in which the packages have to be installed' + type: integer + packageReferenceId: + description: |- + PackageReferenceId: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + type: string + tags: + description: 'Tags: Optional, Specifies a passthrough value for more generic context.' + type: string + treatFailureAsDeploymentFailure: + description: |- + TreatFailureAsDeploymentFailure: Optional, If true, any failure for any operation in the VmApplication will fail the + deployment + type: boolean + type: object + type: array + type: object + billingProfile: + description: |- + BillingProfile: Specifies the billing related details of a Azure Spot VMSS. + Minimum api-version: 2019-03-01. + properties: + maxPrice: + description: |- + MaxPrice: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. + This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time + of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current + Azure Spot price. + The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the + maxPrice after creation of VM/VMSS. + Possible values are: + - Any decimal value greater than zero. Example: 0.01538 + -1 – indicates default price to be up-to on-demand. + You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, + the default max price is -1 if it is not provided by you. + Minimum api-version: 2019-03-01. + type: number + type: object + capacityReservation: + description: |- + CapacityReservation: Specifies the capacity reservation related details of a scale set. + Minimum api-version: 2021-04-01. + properties: + capacityReservationGroup: + description: |- + CapacityReservationGroup: Specifies the capacity reservation group resource id that should be used for allocating the + virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to + https://aka.ms/CapacityReservation for more details. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + diagnosticsProfile: + description: |- + DiagnosticsProfile: Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + bootDiagnostics: + description: |- + BootDiagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to + diagnose VM status. + NOTE: If storageUri is being specified then ensure that the storage account is in the same region and subscription as + the VM. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the VM from the hypervisor. + properties: + enabled: + description: 'Enabled: Whether boot diagnostics should be enabled on the Virtual Machine.' + type: boolean + storageUri: + description: |- + StorageUri: Uri of the storage account to use for placing the console output and screenshot. + If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + type: string + type: object + type: object + evictionPolicy: + description: |- + EvictionPolicy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. + For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. + For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is + 2017-10-30-preview. + type: string + extensionProfile: + description: 'ExtensionProfile: Specifies a collection of settings for extensions installed on virtual machines in the scale set.' + properties: + extensions: + description: 'Extensions: The virtual machine scale set child extension resources.' + items: + description: Describes a Virtual Machine Scale Set Extension. + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: The name of the extension.' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: array + extensionsTimeBudget: + description: |- + ExtensionsTimeBudget: Specifies the time alloted for all extensions to start. The time duration should be between 15 + minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes + (PT1H30M). + Minimum api-version: 2020-06-01 + type: string + type: object + hardwareProfile: + description: |- + HardwareProfile: Specifies the hardware profile related details of a scale set. + Minimum api-version: 2022-03-01. + properties: + vmSizeProperties: + description: |- + VmSizeProperties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: + 2022-03-01. + Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + properties: + vCPUsAvailable: + description: |- + VCPUsAvailable: Specifies the number of vCPUs available for the VM. + When this property is not specified in the request body the default behavior is to set it to the value of vCPUs + available for that VM size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) . + type: integer + vCPUsPerCore: + description: |- + VCPUsPerCore: Specifies the vCPU to physical core ratio. + When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the + VM Size exposed in api response of [List all available virtual machine sizes in a + region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) + Setting this property to 1 also means that hyper-threading is disabled. + type: integer + type: object + type: object + licenseType: + description: |- + LicenseType: Specifies that the image or disk that is being used was licensed on-premises. + Possible values for Windows Server operating system are: + Windows_Client + Windows_Server + Possible values for Linux Server operating system are: + RHEL_BYOS (for RHEL) + SLES_BYOS (for SUSE) + For more information, see [Azure Hybrid Use Benefit for Windows + Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) + [Azure Hybrid Use Benefit for Linux + Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) + Minimum api-version: 2015-06-15 + type: string + networkProfile: + description: 'NetworkProfile: Specifies properties of the network interfaces of the virtual machines in the scale set.' + properties: + healthProbe: + description: |- + HealthProbe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine + scale set. The reference will be in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + properties: + id: + description: 'Id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + type: string + type: object + networkApiVersion: + description: |- + NetworkApiVersion: specifies the Microsoft.Network API version used when creating networking resources in the Network + Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + type: string + networkInterfaceConfigurations: + description: 'NetworkInterfaceConfigurations: The list of network configurations.' + items: + description: Describes a virtual machine scale set network profile's network configurations. + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the network interface when the VM is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the network interfaces.' + properties: + dnsServers: + description: 'DnsServers: List of DNS servers IP addresses' + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: Specifies whether the network interface is accelerated networking-enabled.' + type: boolean + enableFpga: + description: 'EnableFpga: Specifies whether the network interface is FPGA networking-enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Whether IP forwarding enabled on this NIC.' + type: boolean + id: + description: 'Id: Resource Id' + type: string + ipConfigurations: + description: 'IpConfigurations: Specifies the IP configurations of the network interface.' + items: + description: Describes a virtual machine scale set network profile's IP configuration. + properties: + applicationGatewayBackendAddressPools: + description: |- + ApplicationGatewayBackendAddressPools: Specifies an array of references to backend address pools of application + gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot + use the same application gateway. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Specifies an array of references to application security group.' + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + id: + description: 'Id: Resource Id' + type: string + loadBalancerBackendAddressPools: + description: |- + LoadBalancerBackendAddressPools: Specifies an array of references to backend address pools of load balancers. A scale + set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the + same basic sku load balancer. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + loadBalancerInboundNatPools: + description: |- + LoadBalancerInboundNatPools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set + can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same + basic sku load balancer. + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + name: + description: 'Name: The IP configuration name.' + type: string + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + privateIPAddressVersion: + description: |- + PrivateIPAddressVersion: Available from Api-Version 2017-03-30 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPAddressConfiguration: + description: 'PublicIPAddressConfiguration: The publicIPAddressConfiguration.' + properties: + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP when the VM is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The dns settings to be applied on the publicIP addresses .' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The Domain name label.The concatenation of the domain name label and vm index will be the domain name + labels of the PublicIPAddress resources that will be created + type: string + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipTags: + description: 'IpTags: The list of IP tags associated with the public IP address.' + items: + description: Contains the IP tag associated with the public IP address. + properties: + ipTagType: + description: 'IpTagType: IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: IP tag associated with the public IP. Example: SQL, Storage etc.' + type: string + type: object + type: array + name: + description: 'Name: The publicIP address configuration name.' + type: string + publicIPAddressVersion: + description: |- + PublicIPAddressVersion: Available from Api-Version 2019-07-01 onwards, it represents whether the specific + ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The PublicIPPrefix from which to allocate publicIP addresses.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + sku: + description: 'Sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible.' + properties: + name: + description: 'Name: Specify public IP sku name' + type: string + tier: + description: 'Tier: Specify public IP sku tier' + type: string + type: object + type: object + subnet: + description: 'Subnet: Specifies the identifier of the subnet.' + properties: + id: + description: 'Id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + type: string + type: object + type: object + type: array + name: + description: 'Name: The network configuration name.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The network security group.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + primary: + description: 'Primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface.' + type: boolean + type: object + type: array + type: object + osProfile: + description: 'OsProfile: Specifies the operating system settings for the virtual machines in the scale set.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Windows-only restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length (Linux): 1 character + Max-length (Linux): 64 characters + Max-length (Windows): 20 characters + type: string + allowExtensionOperations: + description: |- + AllowExtensionOperations: Specifies whether extension operations should be allowed on the virtual machine scale set. + This may only be set to False when no extensions are present on the virtual machine scale set. + type: boolean + computerNamePrefix: + description: |- + ComputerNamePrefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name + prefixes must be 1 to 15 characters long. + type: string + customData: + description: |- + CustomData: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array + that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. + For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during + creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + type: string + linuxConfiguration: + description: |- + LinuxConfiguration: Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + disablePasswordAuthentication: + description: 'DisablePasswordAuthentication: Specifies whether password authentication should be disabled.' + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Linux. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + type: string + type: object + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + ImageDefault - The virtual machine's default patching configuration is used. + AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent + must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + ssh: + description: 'Ssh: Specifies the ssh key configuration for a Linux OS.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with linux based VMs.' + items: + description: Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + keyData: + description: |- + KeyData: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit + and in ssh-rsa format. + For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in + Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + type: string + path: + description: |- + Path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the + specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + type: string + type: object + type: array + type: object + type: object + secrets: + description: |- + Secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install + certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + items: + description: Describes a set of certificates which are all in the same Key Vault. + properties: + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + vaultCertificates: + description: 'VaultCertificates: The list of key vault references in SourceVault which contain certificates.' + items: + description: Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + certificateStore: + description: |- + CertificateStore: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate + should be added. The specified certificate store is implicitly in the LocalMachine account. + For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name + <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both + of these files are .pem formatted. + type: string + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: 'WindowsConfiguration: Specifies Windows operating system settings on the virtual machine.' + properties: + additionalUnattendContent: + description: |- + AdditionalUnattendContent: Specifies additional base-64 encoded XML formatted information that can be included in the + Unattend.xml file, which is used by Windows Setup. + items: + description: |- + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + componentName: + description: 'ComponentName: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.' + type: string + content: + description: |- + Content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and + component. The XML must be less than 4KB and must include the root element for the setting or feature that is being + inserted. + type: string + passName: + description: 'PassName: The pass name. Currently, the only allowable value is OobeSystem.' + type: string + settingName: + description: |- + SettingName: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and + AutoLogon. + type: string + type: object + type: array + enableAutomaticUpdates: + description: |- + EnableAutomaticUpdates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is + true. + For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + type: boolean + patchSettings: + description: 'PatchSettings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows.' + properties: + assessmentMode: + description: |- + AssessmentMode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. + Possible values are: + ImageDefault - You control the timing of patch assessments on a virtual machine. + AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + type: string + automaticByPlatformSettings: + description: |- + AutomaticByPlatformSettings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on + Windows. + properties: + rebootSetting: + description: 'RebootSetting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations.' + type: string + type: object + enableHotpatching: + description: |- + EnableHotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the + 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + type: boolean + patchMode: + description: |- + PatchMode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual + machine scale set with OrchestrationMode as Flexible. + Possible values are: + Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside + the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be + false + AutomaticByOS - The virtual machine will automatically be updated by the OS. The property + WindowsConfiguration.enableAutomaticUpdates must be true. + AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent + and WindowsConfiguration.enableAutomaticUpdates must be true + type: string + type: object + provisionVMAgent: + description: |- + ProvisionVMAgent: Indicates whether virtual machine agent should be provisioned on the virtual machine. + When this property is not specified in the request body, default behavior is to set it to true. This will ensure that + VM Agent is installed on the VM so that extensions can be added to the VM later. + type: boolean + timeZone: + description: |- + TimeZone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". + Possible values can be + [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time + zones returned by + [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + type: string + winRM: + description: 'WinRM: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.' + properties: + listeners: + description: 'Listeners: The list of Windows Remote Management listeners' + items: + description: Describes Protocol and thumbprint of Windows Remote Management listener + properties: + certificateUrl: + description: |- + CertificateUrl: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to + the Key Vault, see [Add a key or secret to the key + vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to + be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: + { + "data":"", + "dataType":"pfx", + "password":"" + } + To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for + Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual + machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + type: string + protocol: + description: |- + Protocol: Specifies the protocol of WinRM listener. + Possible values are: + http + https + type: string + type: object + type: array + type: object + type: object + type: object + priority: + description: |- + Priority: Specifies the priority for the virtual machines in the scale set. + Minimum api-version: 2017-10-30-preview + type: string + scheduledEventsProfile: + description: 'ScheduledEventsProfile: Specifies Scheduled Event related configurations.' + properties: + terminateNotificationProfile: + description: 'TerminateNotificationProfile: Specifies Terminate Scheduled Event related configurations.' + properties: + enable: + description: 'Enable: Specifies whether the Terminate Scheduled event is enabled or disabled.' + type: boolean + notBeforeTimeout: + description: |- + NotBeforeTimeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the + Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 + format, the default value is 5 minutes (PT5M) + type: string + type: object + type: object + securityProfile: + description: 'SecurityProfile: Specifies the Security related profile settings for the virtual machines in the scale set.' + properties: + encryptionAtHost: + description: |- + EncryptionAtHost: This property can be used by user in the request to enable or disable the Host Encryption for the + virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp + disk at host itself. + Default: The Encryption at host will be disabled unless this property is set to true for the resource. + type: boolean + securityType: + description: |- + SecurityType: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable + UefiSettings. + Default: UefiSettings will not be enabled unless this property is set. + type: string + uefiSettings: + description: |- + UefiSettings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum api-version: 2020-12-01 + properties: + secureBootEnabled: + description: |- + SecureBootEnabled: Specifies whether secure boot should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + vTpmEnabled: + description: |- + VTpmEnabled: Specifies whether vTPM should be enabled on the virtual machine. + Minimum api-version: 2020-12-01 + type: boolean + type: object + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a virtual machine scale set data disk. + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: 'CreateOption: The create option.' + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is + available for VMSS with Flexible OrchestrationMode only). + Possible values: + Delete If this value is used, the data disk is deleted when the VMSS Flex VM is deleted. + Detach If this value is used, the data disk is retained after VMSS Flex VM is deleted. + The default value is set to Delete. + type: string + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is + UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: Specifies the bandwidth in MB per second for the managed disk. Should be used only when + StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: array + imageReference: + description: |- + ImageReference: Specifies information about the image to use. You can specify information about platform images, + marketplace images, or virtual machine images. This element is required when you want to use a platform image, + marketplace image, or virtual machine image, but is not used in other creation operations. + properties: + communityGalleryImageId: + description: |- + CommunityGalleryImageId: Specified the community gallery image unique id for vm deployment. This can be fetched from + community gallery image GET call. + type: string + exactVersion: + description: |- + ExactVersion: Specifies in decimal numbers, the version of platform image or marketplace image used to create the + virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + type: string + id: + description: 'Id: Resource Id' + type: string + offer: + description: 'Offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.' + type: string + publisher: + description: 'Publisher: The image publisher.' + type: string + sharedGalleryImageId: + description: |- + SharedGalleryImageId: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared + gallery image GET call. + type: string + sku: + description: 'Sku: The image SKU.' + type: string + version: + description: |- + Version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The + allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use + the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically + update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image + deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just + set + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' + in the 'id' field without version input. + type: string + type: object + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machines in the scale set. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + createOption: + description: |- + CreateOption: Specifies how the virtual machines in the scale set should be created. + The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual + machine. If you are using a platform image, you also use the imageReference element described above. If you are using a + marketplace image, you also use the plan element previously described. + type: string + deleteOption: + description: |- + DeleteOption: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available + for VMSS with Flexible OrchestrationMode only). + Possible values: + Delete If this value is used, the OS disk is deleted when VMSS Flex VM is deleted. + Detach If this value is used, the OS disk is retained after VMSS Flex VM is deleted. + The default value is set to Delete. For an Ephemeral OS Disk, the default value is set to Delete. User cannot change the + delete option for Ephemeral OS Disk. + type: string + diffDiskSettings: + description: |- + DiffDiskSettings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale + set. + properties: + option: + description: 'Option: Specifies the ephemeral disk settings for operating system disk.' + type: string + placement: + description: |- + Placement: Specifies the ephemeral disk placement for operating system disk. + Possible values are: + CacheDisk + ResourceDisk + Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. + Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and + Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size + of the disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + image: + description: 'Image: Specifies information about the unmanaged user image to base the scale set on.' + properties: + uri: + description: 'Uri: Specifies the virtual hard disk''s uri.' + type: string + type: object + managedDisk: + description: 'ManagedDisk: The managed disk parameters.' + properties: + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Specifies the security profile for the managed disk.' + properties: + diskEncryptionSet: + description: |- + DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed disk that is used for + Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + securityEncryptionType: + description: |- + SecurityEncryptionType: Specifies the EncryptionType of the managed disk. + It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly + for encryption of just the VMGuestState blob. + NOTE: It can be set for only Confidential VMs. + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + name: + description: 'Name: The disk name.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from + user-image or a specialized VHD. + Possible values are: + Windows + Linux + type: string + vhdContainers: + description: 'VhdContainers: Specifies the container urls that are used to store operating system disks for the scale set.' + items: + type: string + type: array + writeAcceleratorEnabled: + description: 'WriteAcceleratorEnabled: Specifies whether writeAccelerator should be enabled or disabled on the disk.' + type: boolean + type: object + type: object + userData: + description: |- + UserData: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass + any secrets in here. + Minimum api-version: 2021-03-01 + type: string + type: object + zoneBalance: + description: |- + ZoneBalance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. + zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no + zones or only one zone specified, then zoneBalance property should not be set. + type: boolean + zones: + description: 'Zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachineScaleSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.VirtualMachineScaleSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20220301.AdditionalCapabilities + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hibernationEnabled: + type: boolean + ultraSSDEnabled: + type: boolean + type: object + automaticRepairsPolicy: + description: |- + Storage version of v1api20220301.AutomaticRepairsPolicy + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + gracePeriod: + type: string + repairAction: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotRunExtensionsOnOverprovisionedVMs: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIdentity + Identity for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestrationMode: + type: string + originalVersion: + type: string + overprovision: + type: boolean + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + plan: + description: |- + Storage version of v1api20220301.Plan + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scaleInPolicy: + description: |- + Storage version of v1api20220301.ScaleInPolicy + Describes a scale-in policy for a virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceDeletion: + type: boolean + rules: + items: + type: string + type: array + type: object + singlePlacementGroup: + type: boolean + sku: + description: |- + Storage version of v1api20220301.Sku + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + spotRestorePolicy: + description: |- + Storage version of v1api20220301.SpotRestorePolicy + Specifies the Spot-Try-Restore properties for the virtual machine scale set. + With this property customer can + enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity + availability and pricing constraint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + restoreTimeout: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + upgradePolicy: + description: |- + Storage version of v1api20220301.UpgradePolicy + Describes an upgrade policy - automatic, manual, or rolling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticOSUpgradePolicy: + description: |- + Storage version of v1api20220301.AutomaticOSUpgradePolicy + The configuration parameters used for performing automatic OS upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableAutomaticRollback: + type: boolean + enableAutomaticOSUpgrade: + type: boolean + useRollingUpgradePolicy: + type: boolean + type: object + mode: + type: string + rollingUpgradePolicy: + description: |- + Storage version of v1api20220301.RollingUpgradePolicy + The configuration parameters used while performing a rolling upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableCrossZoneUpgrade: + type: boolean + maxBatchInstancePercent: + type: integer + maxUnhealthyInstancePercent: + type: integer + maxUnhealthyUpgradedInstancePercent: + type: integer + pauseTimeBetweenBatches: + type: string + prioritizeUnhealthyInstances: + type: boolean + type: object + type: object + virtualMachineProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetVMProfile + Describes a virtual machine scale set virtual machine profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationProfile: + description: |- + Storage version of v1api20220301.ApplicationProfile + Contains the list of gallery applications that should be made available to the VM/VMSS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + galleryApplications: + items: + description: |- + Storage version of v1api20220301.VMGalleryApplication + Specifies the required information to reference a compute gallery application version + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationReference: + type: string + enableAutomaticUpgrade: + type: boolean + order: + type: integer + packageReferenceReference: + description: |- + PackageReferenceReference: Specifies the GalleryApplicationVersion resource id on the form of + /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + type: string + treatFailureAsDeploymentFailure: + type: boolean + required: + - packageReferenceReference + type: object + type: array + type: object + billingProfile: + description: |- + Storage version of v1api20220301.BillingProfile + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + capacityReservation: + description: |- + Storage version of v1api20220301.CapacityReservationProfile + The parameters of a capacity reservation Profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20220301.DiagnosticsProfile + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20220301.BootDiagnostics + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extensionProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetExtensionProfile + Describes a virtual machine scale set extension profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensions: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetExtension + Describes a Virtual Machine Scale Set Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + name: + type: string + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + provisionAfterExtensions: + items: + type: string + type: array + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + extensionsTimeBudget: + type: string + type: object + hardwareProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetHardwareProfile + Specifies the hardware settings for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSizeProperties: + description: |- + Storage version of v1api20220301.VMSizeProperties + Specifies VM Size Property settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vCPUsAvailable: + type: integer + vCPUsPerCore: + type: integer + type: object + type: object + licenseType: + type: string + networkProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkProfile + Describes a virtual machine scale set network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbe: + description: |- + Storage version of v1api20220301.ApiEntityReference + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkApiVersion: + type: string + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkConfiguration + Describes a virtual machine scale set network profile's network configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkConfigurationDnsSettings + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIPConfiguration + Describes a virtual machine scale set network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatPools: + items: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetPublicIPAddressConfiguration + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIpTag + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPPrefix: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20220301.PublicIPAddressSku + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subnet: + description: |- + Storage version of v1api20220301.ApiEntityReference + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + primary: + type: boolean + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetOSProfile + Describes a virtual machine scale set OS profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerNamePrefix: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20220301.LinuxConfiguration + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.LinuxPatchSettings + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.LinuxVMGuestPatchAutomaticByPlatformSettings + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20220301.SshConfiguration + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20220301.SshPublicKeySpec + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20220301.VaultSecretGroup + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20220301.VaultCertificate + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20220301.WindowsConfiguration + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20220301.AdditionalUnattendContent + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.PatchSettings + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.WindowsVMGuestPatchAutomaticByPlatformSettings + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20220301.WinRMConfiguration + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20220301.WinRMListener + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + priority: + type: string + scheduledEventsProfile: + description: Storage version of v1api20220301.ScheduledEventsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20220301.TerminateNotificationProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.SecurityProfile + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20220301.UefiSettings + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetStorageProfile + Describes a virtual machine scale set storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetDataDisk + Describes a virtual machine scale set data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetManagedDiskParameters + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20220301.ImageReference + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + offer: + type: string + publisher: + type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetOSDisk + Describes a virtual machine scale set operating system disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20220301.DiffDiskSettings + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetManagedDiskParameters + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhdContainers: + items: + type: string + type: array + writeAcceleratorEnabled: + type: boolean + type: object + type: object + userData: + type: string + type: object + zoneBalance: + type: boolean + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSet_STATUS + Describes a Virtual Machine Scale Set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalCapabilities: + description: |- + Storage version of v1api20220301.AdditionalCapabilities_STATUS + Enables or disables a capability on the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hibernationEnabled: + type: boolean + ultraSSDEnabled: + type: boolean + type: object + automaticRepairsPolicy: + description: |- + Storage version of v1api20220301.AutomaticRepairsPolicy_STATUS + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + gracePeriod: + type: string + repairAction: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotRunExtensionsOnOverprovisionedVMs: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIdentity_STATUS + Identity for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220301.VirtualMachineScaleSetIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + orchestrationMode: + type: string + overprovision: + type: boolean + plan: + description: |- + Storage version of v1api20220301.Plan_STATUS + Specifies information about the marketplace image used to create the virtual machine. This element is only used for + marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. + In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, + Get Started ->. Enter any required information and then click Save. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + platformFaultDomainCount: + type: integer + provisioningState: + type: string + proximityPlacementGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + scaleInPolicy: + description: |- + Storage version of v1api20220301.ScaleInPolicy_STATUS + Describes a scale-in policy for a virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceDeletion: + type: boolean + rules: + items: + type: string + type: array + type: object + singlePlacementGroup: + type: boolean + sku: + description: |- + Storage version of v1api20220301.Sku_STATUS + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + spotRestorePolicy: + description: |- + Storage version of v1api20220301.SpotRestorePolicy_STATUS + Specifies the Spot-Try-Restore properties for the virtual machine scale set. + With this property customer can + enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity + availability and pricing constraint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + restoreTimeout: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + upgradePolicy: + description: |- + Storage version of v1api20220301.UpgradePolicy_STATUS + Describes an upgrade policy - automatic, manual, or rolling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticOSUpgradePolicy: + description: |- + Storage version of v1api20220301.AutomaticOSUpgradePolicy_STATUS + The configuration parameters used for performing automatic OS upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableAutomaticRollback: + type: boolean + enableAutomaticOSUpgrade: + type: boolean + useRollingUpgradePolicy: + type: boolean + type: object + mode: + type: string + rollingUpgradePolicy: + description: |- + Storage version of v1api20220301.RollingUpgradePolicy_STATUS + The configuration parameters used while performing a rolling upgrade. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableCrossZoneUpgrade: + type: boolean + maxBatchInstancePercent: + type: integer + maxUnhealthyInstancePercent: + type: integer + maxUnhealthyUpgradedInstancePercent: + type: integer + pauseTimeBetweenBatches: + type: string + prioritizeUnhealthyInstances: + type: boolean + type: object + type: object + virtualMachineProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetVMProfile_STATUS + Describes a virtual machine scale set virtual machine profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationProfile: + description: |- + Storage version of v1api20220301.ApplicationProfile_STATUS + Contains the list of gallery applications that should be made available to the VM/VMSS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + galleryApplications: + items: + description: |- + Storage version of v1api20220301.VMGalleryApplication_STATUS + Specifies the required information to reference a compute gallery application version + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationReference: + type: string + enableAutomaticUpgrade: + type: boolean + order: + type: integer + packageReferenceId: + type: string + tags: + type: string + treatFailureAsDeploymentFailure: + type: boolean + type: object + type: array + type: object + billingProfile: + description: |- + Storage version of v1api20220301.BillingProfile_STATUS + Specifies the billing related details of a Azure Spot VM or VMSS. + Minimum api-version: 2019-03-01. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxPrice: + type: number + type: object + capacityReservation: + description: |- + Storage version of v1api20220301.CapacityReservationProfile_STATUS + The parameters of a capacity reservation Profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + diagnosticsProfile: + description: |- + Storage version of v1api20220301.DiagnosticsProfile_STATUS + Specifies the boot diagnostic settings state. + Minimum api-version: 2015-06-15. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bootDiagnostics: + description: |- + Storage version of v1api20220301.BootDiagnostics_STATUS + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. + You can easily view the output of your console log. + Azure also enables you to see a screenshot of the + VM from the hypervisor. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + storageUri: + type: string + type: object + type: object + evictionPolicy: + type: string + extensionProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetExtensionProfile_STATUS + Describes a virtual machine scale set extension profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensions: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetExtension_STATUS + Describes a Virtual Machine Scale Set Extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + name: + type: string + properties_type: + type: string + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + provisionAfterExtensions: + items: + type: string + type: array + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + type: + type: string + typeHandlerVersion: + type: string + type: object + type: array + extensionsTimeBudget: + type: string + type: object + hardwareProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetHardwareProfile_STATUS + Specifies the hardware settings for the virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmSizeProperties: + description: |- + Storage version of v1api20220301.VMSizeProperties_STATUS + Specifies VM Size Property settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vCPUsAvailable: + type: integer + vCPUsPerCore: + type: integer + type: object + type: object + licenseType: + type: string + networkProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkProfile_STATUS + Describes a virtual machine scale set network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbe: + description: |- + Storage version of v1api20220301.ApiEntityReference_STATUS + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + networkApiVersion: + type: string + networkInterfaceConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkConfiguration_STATUS + Describes a virtual machine scale set network profile's network configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetNetworkConfigurationDnsSettings_STATUS + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableAcceleratedNetworking: + type: boolean + enableFpga: + type: boolean + enableIPForwarding: + type: boolean + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIPConfiguration_STATUS + Describes a virtual machine scale set network profile's IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + loadBalancerBackendAddressPools: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatPools: + items: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddressVersion: + type: string + publicIPAddressConfiguration: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetPublicIPAddressConfiguration_STATUS + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings_STATUS + Describes a virtual machines scale sets network configuration's DNS settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipTags: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetIpTag_STATUS + Contains the IP tag associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + name: + type: string + publicIPAddressVersion: + type: string + publicIPPrefix: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + sku: + description: |- + Storage version of v1api20220301.PublicIPAddressSku_STATUS + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20220301.ApiEntityReference_STATUS + The API entity reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + name: + type: string + networkSecurityGroup: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + primary: + type: boolean + type: object + type: array + type: object + osProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetOSProfile_STATUS + Describes a virtual machine scale set OS profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + allowExtensionOperations: + type: boolean + computerNamePrefix: + type: string + customData: + type: string + linuxConfiguration: + description: |- + Storage version of v1api20220301.LinuxConfiguration_STATUS + Specifies the Linux operating system settings on the virtual machine. + For a list of supported Linux + distributions, see [Linux on Azure-Endorsed + Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disablePasswordAuthentication: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.LinuxPatchSettings_STATUS + Specifies settings related to VM Guest Patching on Linux. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.LinuxVMGuestPatchAutomaticByPlatformSettings_STATUS + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + ssh: + description: |- + Storage version of v1api20220301.SshConfiguration_STATUS + SSH configuration for Linux based VMs running on Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20220301.SshPublicKey_STATUS + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + path: + type: string + type: object + type: array + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20220301.VaultSecretGroup_STATUS + Describes a set of certificates which are all in the same Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vaultCertificates: + items: + description: |- + Storage version of v1api20220301.VaultCertificate_STATUS + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateStore: + type: string + certificateUrl: + type: string + type: object + type: array + type: object + type: array + windowsConfiguration: + description: |- + Storage version of v1api20220301.WindowsConfiguration_STATUS + Specifies Windows operating system settings on the virtual machine. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalUnattendContent: + items: + description: |- + Storage version of v1api20220301.AdditionalUnattendContent_STATUS + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows + Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + componentName: + type: string + content: + type: string + passName: + type: string + settingName: + type: string + type: object + type: array + enableAutomaticUpdates: + type: boolean + patchSettings: + description: |- + Storage version of v1api20220301.PatchSettings_STATUS + Specifies settings related to VM Guest Patching on Windows. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assessmentMode: + type: string + automaticByPlatformSettings: + description: |- + Storage version of v1api20220301.WindowsVMGuestPatchAutomaticByPlatformSettings_STATUS + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rebootSetting: + type: string + type: object + enableHotpatching: + type: boolean + patchMode: + type: string + type: object + provisionVMAgent: + type: boolean + timeZone: + type: string + winRM: + description: |- + Storage version of v1api20220301.WinRMConfiguration_STATUS + Describes Windows Remote Management configuration of the VM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + listeners: + items: + description: |- + Storage version of v1api20220301.WinRMListener_STATUS + Describes Protocol and thumbprint of Windows Remote Management listener + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateUrl: + type: string + protocol: + type: string + type: object + type: array + type: object + type: object + type: object + priority: + type: string + scheduledEventsProfile: + description: Storage version of v1api20220301.ScheduledEventsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + terminateNotificationProfile: + description: Storage version of v1api20220301.TerminateNotificationProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + notBeforeTimeout: + type: string + type: object + type: object + securityProfile: + description: |- + Storage version of v1api20220301.SecurityProfile_STATUS + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionAtHost: + type: boolean + securityType: + type: string + uefiSettings: + description: |- + Storage version of v1api20220301.UefiSettings_STATUS + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. + Minimum + api-version: 2020-12-01 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureBootEnabled: + type: boolean + vTpmEnabled: + type: boolean + type: object + type: object + storageProfile: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetStorageProfile_STATUS + Describes a virtual machine scale set storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetDataDisk_STATUS + Describes a virtual machine scale set data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diskIOPSReadWrite: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetManagedDiskParameters_STATUS + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile_STATUS + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + writeAcceleratorEnabled: + type: boolean + type: object + type: array + imageReference: + description: |- + Storage version of v1api20220301.ImageReference_STATUS + Specifies information about the image to use. You can specify information about platform images, marketplace images, or + virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual + machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set + when you create the scale set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + exactVersion: + type: string + id: + type: string + offer: + type: string + publisher: + type: string + sharedGalleryImageId: + type: string + sku: + type: string + version: + type: string + type: object + osDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetOSDisk_STATUS + Describes a virtual machine scale set operating system disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + createOption: + type: string + deleteOption: + type: string + diffDiskSettings: + description: |- + Storage version of v1api20220301.DiffDiskSettings_STATUS + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. + NOTE: The + ephemeral disk settings can only be specified for managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + option: + type: string + placement: + type: string + type: object + diskSizeGB: + type: integer + image: + description: |- + Storage version of v1api20220301.VirtualHardDisk_STATUS + Describes the uri of a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uri: + type: string + type: object + managedDisk: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetManagedDiskParameters_STATUS + Describes the parameters of a ScaleSet managed disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20220301.VMDiskSecurityProfile_STATUS + Specifies the security profile settings for the managed disk. + NOTE: It can only be set for Confidential VMs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + securityEncryptionType: + type: string + type: object + storageAccountType: + type: string + type: object + name: + type: string + osType: + type: string + vhdContainers: + items: + type: string + type: array + writeAcceleratorEnabled: + type: boolean + type: object + type: object + userData: + type: string + type: object + zoneBalance: + type: boolean + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualmachinescalesetsextensions.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: VirtualMachineScaleSetsExtension + listKind: VirtualMachineScaleSetsExtensionList + plural: virtualmachinescalesetsextensions + singular: virtualmachinescalesetsextension + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachineScaleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + required: + - owner + type: object + status: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: The name of the extension.' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetsExtension + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.VirtualMachineScaleSetsExtension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.VirtualMachineScaleSetsExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachineScaleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + provisionAfterExtensions: + items: + type: string + type: array + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + typeHandlerVersion: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20201201.VirtualMachineScaleSetsExtension_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + name: + type: string + properties_type: + type: string + provisionAfterExtensions: + items: + type: string + type: array + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachineScaleSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachineScaleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + required: + - owner + type: object + status: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: |- + ForceUpdateTag: If a value is provided and is different from the previous value, the extension handler will be forced to + update even if the extension configuration has not changed. + type: string + id: + description: 'Id: Resource Id' + type: string + name: + description: 'Name: The name of the extension.' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + provisionAfterExtensions: + description: 'ProvisionAfterExtensions: Collection of extension names after which this extension needs to be provisioned.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetsExtension + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachineScaleSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.VirtualMachineScaleSetsExtension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.VirtualMachineScaleSetsExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachineScaleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + provisionAfterExtensions: + items: + type: string + type: array + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + type: + type: string + typeHandlerVersion: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220301.VirtualMachineScaleSetsExtension_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + name: + type: string + properties_type: + type: string + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + provisionAfterExtensions: + items: + type: string + type: array + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + type: + type: string + typeHandlerVersion: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualmachinesextensions.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: VirtualMachinesExtension + listKind: VirtualMachinesExtensionList + plural: virtualmachinesextensions + singular: virtualmachinesextension + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + enum: + - Error + - Info + - Warning + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + enum: + - Error + - Info + - Warning + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachine resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + required: + - location + - owner + type: object + status: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + id: + description: 'Id: Resource Id' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.VirtualMachinesExtension + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2020-12-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.VirtualMachinesExtension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + instanceView: + description: |- + Storage version of v1api20201201.VirtualMachineExtensionInstanceView + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.VirtualMachinesExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachine resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20201201.VirtualMachinesExtension_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + instanceView: + description: |- + Storage version of v1api20201201.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20201201.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + name: + type: string + properties_type: + type: string + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachine.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + enum: + - Error + - Info + - Warning + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + enum: + - Error + - Info + - Warning + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachine resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + ProtectedSettings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected + settings at all. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + required: + - owner + type: object + status: + properties: + autoUpgradeMinorVersion: + description: |- + AutoUpgradeMinorVersion: Indicates whether the extension should use a newer minor version if one is available at + deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this + property set to true. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + description: |- + EnableAutomaticUpgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a + newer version of the extension available. + type: boolean + forceUpdateTag: + description: 'ForceUpdateTag: How the extension handler should be forced to update even if the extension configuration has not changed.' + type: string + id: + description: 'Id: Resource Id' + type: string + instanceView: + description: 'InstanceView: The virtual machine extension instance view.' + properties: + name: + description: 'Name: The virtual machine extension name.' + type: string + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + substatuses: + description: 'Substatuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + type: + description: 'Type: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + properties_type: + description: 'PropertiesType: Specifies the type of the extension; an example is "CustomScriptExtension".' + type: string + protectedSettingsFromKeyVault: + description: |- + ProtectedSettingsFromKeyVault: The extensions protected settings that are passed by reference, and consumed from key + vault + properties: + secretUrl: + description: 'SecretUrl: The URL referencing a secret in a Key Vault.' + type: string + sourceVault: + description: 'SourceVault: The relative URL of the Key Vault containing the secret.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state, which only appears in the response.' + type: string + publisher: + description: 'Publisher: The name of the extension handler publisher.' + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Json formatted public settings for the extension.' + type: object + suppressFailures: + description: |- + SuppressFailures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such + as not connecting to the VM will not be suppressed regardless of this value). The default is false. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + typeHandlerVersion: + description: 'TypeHandlerVersion: Specifies the version of the script handler.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.VirtualMachinesExtension + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/virtualMachine.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.VirtualMachinesExtension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + instanceView: + description: |- + Storage version of v1api20220301.VirtualMachineExtensionInstanceView + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220301.VirtualMachinesExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a compute.azure.com/VirtualMachine resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + protectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220301.VirtualMachinesExtension_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradeMinorVersion: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableAutomaticUpgrade: + type: boolean + forceUpdateTag: + type: string + id: + type: string + instanceView: + description: |- + Storage version of v1api20220301.VirtualMachineExtensionInstanceView_STATUS + The instance view of a virtual machine extension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + statuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + substatuses: + items: + description: |- + Storage version of v1api20220301.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + type: + type: string + typeHandlerVersion: + type: string + type: object + location: + type: string + name: + type: string + properties_type: + type: string + protectedSettingsFromKeyVault: + description: |- + Storage version of v1api20220301.KeyVaultSecretReference_STATUS + Describes a reference to Key Vault Secret + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + provisioningState: + type: string + publisher: + type: string + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + suppressFailures: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + typeHandlerVersion: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualnetworkgateways.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: VirtualNetworkGateway + listKind: VirtualNetworkGatewayList + plural: virtualnetworkgateways + singular: virtualnetworkgateway + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetworkGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeActive: + description: 'ActiveActive: ActiveActive flag.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpSettings: + description: 'BgpSettings: Virtual network gateway''s BGP speaker settings.' + properties: + asn: + description: 'Asn: The BGP speaker''s ASN.' + format: int32 + type: integer + bgpPeeringAddress: + description: 'BgpPeeringAddress: The BGP peering address and BGP identifier of this BGP speaker.' + type: string + bgpPeeringAddresses: + description: 'BgpPeeringAddresses: BGP peering address with IP configuration ID for virtual network gateway.' + items: + description: Properties of IPConfigurationBgpPeeringAddress. + properties: + customBgpIpAddresses: + description: 'CustomBgpIpAddresses: The list of custom BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + ipconfigurationId: + description: 'IpconfigurationId: The ID of IP configuration which belongs to gateway.' + type: string + type: object + type: array + peerWeight: + description: 'PeerWeight: The weight added to routes learned from this BGP speaker.' + type: integer + type: object + customRoutes: + description: |- + CustomRoutes: The reference to the address space resource which represents the custom routes address space specified by + the customer for virtual network gateway and VpnClient. + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + enableBgp: + description: 'EnableBgp: Whether BGP is enabled for this virtual network gateway or not.' + type: boolean + enableDnsForwarding: + description: 'EnableDnsForwarding: Whether dns forwarding is enabled or not.' + type: boolean + enablePrivateIpAddress: + description: 'EnablePrivateIpAddress: Whether private IP needs to be enabled on this gateway for connections or not.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of type local virtual network gateway.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + gatewayDefaultSite: + description: |- + GatewayDefaultSite: The reference to the LocalNetworkGateway resource which represents local network site having default + routes. Assign Null value in case of removing existing default site setting. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + gatewayType: + description: 'GatewayType: The type of this virtual network gateway.' + enum: + - ExpressRoute + - LocalGateway + - Vpn + type: string + ipConfigurations: + description: 'IpConfigurations: IP configurations for virtual network gateway.' + items: + description: IP configuration for virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network + gateway. + properties: + name: + description: 'Name: Gateway SKU name.' + enum: + - Basic + - ErGw1AZ + - ErGw2AZ + - ErGw3AZ + - HighPerformance + - Standard + - UltraPerformance + - VpnGw1 + - VpnGw1AZ + - VpnGw2 + - VpnGw2AZ + - VpnGw3 + - VpnGw3AZ + - VpnGw4 + - VpnGw4AZ + - VpnGw5 + - VpnGw5AZ + type: string + tier: + description: 'Tier: Gateway SKU tier.' + enum: + - Basic + - ErGw1AZ + - ErGw2AZ + - ErGw3AZ + - HighPerformance + - Standard + - UltraPerformance + - VpnGw1 + - VpnGw1AZ + - VpnGw2 + - VpnGw2AZ + - VpnGw3 + - VpnGw3AZ + - VpnGw4 + - VpnGw4AZ + - VpnGw5 + - VpnGw5AZ + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vNetExtendedLocationResourceReference: + description: |- + VNetExtendedLocationResourceReference: Customer vnet resource id. VirtualNetworkGateway of type local gateway is + associated with the customer vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vpnClientConfiguration: + description: |- + VpnClientConfiguration: The reference to the VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + properties: + aadAudience: + description: |- + AadAudience: The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadIssuer: + description: |- + AadIssuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadTenant: + description: |- + AadTenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + radiusServerAddress: + description: 'RadiusServerAddress: The radius server address property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServerSecret: + description: 'RadiusServerSecret: The radius secret property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServers: + description: 'RadiusServers: The radiusServers property for multiple radius server configuration.' + items: + description: Radius Server Settings. + properties: + radiusServerAddress: + description: 'RadiusServerAddress: The address of this radius server.' + type: string + radiusServerScore: + description: 'RadiusServerScore: The initial score assigned to this radius server.' + type: integer + radiusServerSecret: + description: 'RadiusServerSecret: The secret used for this radius server.' + type: string + required: + - radiusServerAddress + type: object + type: array + vpnAuthenticationTypes: + description: 'VpnAuthenticationTypes: VPN authentication types for the virtual network gateway..' + items: + enum: + - AAD + - Certificate + - Radius + type: string + type: array + vpnClientAddressPool: + description: 'VpnClientAddressPool: The reference to the address space resource which represents Address space for P2S VpnClient.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + description: 'VpnClientIpsecPolicies: VpnClientIpsecPolicies for virtual network gateway P2S client.' + items: + description: An IPSec Policy configuration for a virtual network gateway connection. + properties: + dhGroup: + description: 'DhGroup: The DH Group used in IKE Phase 1 for initial SA.' + enum: + - DHGroup1 + - DHGroup14 + - DHGroup2 + - DHGroup2048 + - DHGroup24 + - ECP256 + - ECP384 + - None + type: string + ikeEncryption: + description: 'IkeEncryption: The IKE encryption algorithm (IKE phase 2).' + enum: + - AES128 + - AES192 + - AES256 + - DES + - DES3 + - GCMAES128 + - GCMAES256 + type: string + ikeIntegrity: + description: 'IkeIntegrity: The IKE integrity algorithm (IKE phase 2).' + enum: + - GCMAES128 + - GCMAES256 + - MD5 + - SHA1 + - SHA256 + - SHA384 + type: string + ipsecEncryption: + description: 'IpsecEncryption: The IPSec encryption algorithm (IKE phase 1).' + enum: + - AES128 + - AES192 + - AES256 + - DES + - DES3 + - GCMAES128 + - GCMAES192 + - GCMAES256 + - None + type: string + ipsecIntegrity: + description: 'IpsecIntegrity: The IPSec integrity algorithm (IKE phase 1).' + enum: + - GCMAES128 + - GCMAES192 + - GCMAES256 + - MD5 + - SHA1 + - SHA256 + type: string + pfsGroup: + description: 'PfsGroup: The Pfs Group used in IKE Phase 2 for new child SA.' + enum: + - ECP256 + - ECP384 + - None + - PFS1 + - PFS14 + - PFS2 + - PFS2048 + - PFS24 + - PFSMM + type: string + saDataSizeKilobytes: + description: |- + SaDataSizeKilobytes: The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site + to site VPN tunnel. + type: integer + saLifeTimeSeconds: + description: |- + SaLifeTimeSeconds: The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site + to site VPN tunnel. + type: integer + required: + - dhGroup + - ikeEncryption + - ikeIntegrity + - ipsecEncryption + - ipsecIntegrity + - pfsGroup + - saDataSizeKilobytes + - saLifeTimeSeconds + type: object + type: array + vpnClientProtocols: + description: 'VpnClientProtocols: VpnClientProtocols for Virtual network gateway.' + items: + enum: + - IkeV2 + - OpenVPN + - SSTP + type: string + type: array + vpnClientRevokedCertificates: + description: 'VpnClientRevokedCertificates: VpnClientRevokedCertificate for Virtual network gateway.' + items: + description: VPN client revoked certificate of virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + thumbprint: + description: 'Thumbprint: The revoked VPN client certificate thumbprint.' + type: string + type: object + type: array + vpnClientRootCertificates: + description: 'VpnClientRootCertificates: VpnClientRootCertificate for virtual network gateway.' + items: + description: VPN client root certificate of virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicCertData: + description: 'PublicCertData: The certificate public data.' + type: string + required: + - publicCertData + type: object + type: array + type: object + vpnGatewayGeneration: + description: 'VpnGatewayGeneration: The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.' + enum: + - Generation1 + - Generation2 + - None + type: string + vpnType: + description: 'VpnType: The type of this virtual network gateway.' + enum: + - PolicyBased + - RouteBased + type: string + required: + - owner + type: object + status: + description: A common class for general resource information. + properties: + activeActive: + description: 'ActiveActive: ActiveActive flag.' + type: boolean + bgpSettings: + description: 'BgpSettings: Virtual network gateway''s BGP speaker settings.' + properties: + asn: + description: 'Asn: The BGP speaker''s ASN.' + format: int32 + type: integer + bgpPeeringAddress: + description: 'BgpPeeringAddress: The BGP peering address and BGP identifier of this BGP speaker.' + type: string + bgpPeeringAddresses: + description: 'BgpPeeringAddresses: BGP peering address with IP configuration ID for virtual network gateway.' + items: + description: Properties of IPConfigurationBgpPeeringAddress. + properties: + customBgpIpAddresses: + description: 'CustomBgpIpAddresses: The list of custom BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + defaultBgpIpAddresses: + description: 'DefaultBgpIpAddresses: The list of default BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + ipconfigurationId: + description: 'IpconfigurationId: The ID of IP configuration which belongs to gateway.' + type: string + tunnelIpAddresses: + description: 'TunnelIpAddresses: The list of tunnel public IP addresses which belong to IP configuration.' + items: + type: string + type: array + type: object + type: array + peerWeight: + description: 'PeerWeight: The weight added to routes learned from this BGP speaker.' + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRoutes: + description: |- + CustomRoutes: The reference to the address space resource which represents the custom routes address space specified by + the customer for virtual network gateway and VpnClient. + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + enableBgp: + description: 'EnableBgp: Whether BGP is enabled for this virtual network gateway or not.' + type: boolean + enableDnsForwarding: + description: 'EnableDnsForwarding: Whether dns forwarding is enabled or not.' + type: boolean + enablePrivateIpAddress: + description: 'EnablePrivateIpAddress: Whether private IP needs to be enabled on this gateway for connections or not.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of type local virtual network gateway.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + gatewayDefaultSite: + description: |- + GatewayDefaultSite: The reference to the LocalNetworkGateway resource which represents local network site having default + routes. Assign Null value in case of removing existing default site setting. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + gatewayType: + description: 'GatewayType: The type of this virtual network gateway.' + type: string + id: + description: 'Id: Resource ID.' + type: string + inboundDnsForwardingEndpoint: + description: 'InboundDnsForwardingEndpoint: The IP address allocated by the gateway to which dns requests can be sent.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configurations for virtual network gateway.' + items: + description: IP configuration for virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address for this gateway.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network gateway IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network gateway resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the virtual network gateway resource.' + type: string + sku: + description: |- + Sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network + gateway. + properties: + capacity: + description: 'Capacity: The capacity.' + type: integer + name: + description: 'Name: Gateway SKU name.' + type: string + tier: + description: 'Tier: Gateway SKU tier.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + vNetExtendedLocationResourceId: + description: |- + VNetExtendedLocationResourceId: Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated + with the customer vnet. + type: string + vpnClientConfiguration: + description: |- + VpnClientConfiguration: The reference to the VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + properties: + aadAudience: + description: |- + AadAudience: The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadIssuer: + description: |- + AadIssuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadTenant: + description: |- + AadTenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + radiusServerAddress: + description: 'RadiusServerAddress: The radius server address property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServerSecret: + description: 'RadiusServerSecret: The radius secret property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServers: + description: 'RadiusServers: The radiusServers property for multiple radius server configuration.' + items: + description: Radius Server Settings. + properties: + radiusServerAddress: + description: 'RadiusServerAddress: The address of this radius server.' + type: string + radiusServerScore: + description: 'RadiusServerScore: The initial score assigned to this radius server.' + type: integer + radiusServerSecret: + description: 'RadiusServerSecret: The secret used for this radius server.' + type: string + type: object + type: array + vpnAuthenticationTypes: + description: 'VpnAuthenticationTypes: VPN authentication types for the virtual network gateway..' + items: + type: string + type: array + vpnClientAddressPool: + description: 'VpnClientAddressPool: The reference to the address space resource which represents Address space for P2S VpnClient.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + description: 'VpnClientIpsecPolicies: VpnClientIpsecPolicies for virtual network gateway P2S client.' + items: + description: An IPSec Policy configuration for a virtual network gateway connection. + properties: + dhGroup: + description: 'DhGroup: The DH Group used in IKE Phase 1 for initial SA.' + type: string + ikeEncryption: + description: 'IkeEncryption: The IKE encryption algorithm (IKE phase 2).' + type: string + ikeIntegrity: + description: 'IkeIntegrity: The IKE integrity algorithm (IKE phase 2).' + type: string + ipsecEncryption: + description: 'IpsecEncryption: The IPSec encryption algorithm (IKE phase 1).' + type: string + ipsecIntegrity: + description: 'IpsecIntegrity: The IPSec integrity algorithm (IKE phase 1).' + type: string + pfsGroup: + description: 'PfsGroup: The Pfs Group used in IKE Phase 2 for new child SA.' + type: string + saDataSizeKilobytes: + description: |- + SaDataSizeKilobytes: The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site + to site VPN tunnel. + type: integer + saLifeTimeSeconds: + description: |- + SaLifeTimeSeconds: The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site + to site VPN tunnel. + type: integer + type: object + type: array + vpnClientProtocols: + description: 'VpnClientProtocols: VpnClientProtocols for Virtual network gateway.' + items: + type: string + type: array + vpnClientRevokedCertificates: + description: 'VpnClientRevokedCertificates: VpnClientRevokedCertificate for Virtual network gateway.' + items: + description: VPN client revoked certificate of virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the VPN client revoked certificate resource.' + type: string + thumbprint: + description: 'Thumbprint: The revoked VPN client certificate thumbprint.' + type: string + type: object + type: array + vpnClientRootCertificates: + description: 'VpnClientRootCertificates: VpnClientRootCertificate for virtual network gateway.' + items: + description: VPN client root certificate of virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the VPN client root certificate resource.' + type: string + publicCertData: + description: 'PublicCertData: The certificate public data.' + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + description: 'VpnGatewayGeneration: The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.' + type: string + vpnType: + description: 'VpnType: The type of this virtual network gateway.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.VirtualNetworkGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetworkGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.VirtualNetworkGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeActive: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpSettings: + description: |- + Storage version of v1api20201101.BgpSettings + BGP settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + asn: + format: int32 + type: integer + bgpPeeringAddress: + type: string + bgpPeeringAddresses: + items: + description: |- + Storage version of v1api20201101.IPConfigurationBgpPeeringAddress + Properties of IPConfigurationBgpPeeringAddress. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBgpIpAddresses: + items: + type: string + type: array + ipconfigurationId: + type: string + type: object + type: array + peerWeight: + type: integer + type: object + customRoutes: + description: |- + Storage version of v1api20201101.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + enableBgp: + type: boolean + enableDnsForwarding: + type: boolean + enablePrivateIpAddress: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + gatewayDefaultSite: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + gatewayType: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkGatewayIPConfiguration + IP configuration for virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.VirtualNetworkGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20201101.VirtualNetworkGatewaySku + VirtualNetworkGatewaySku details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + vNetExtendedLocationResourceReference: + description: |- + VNetExtendedLocationResourceReference: Customer vnet resource id. VirtualNetworkGateway of type local gateway is + associated with the customer vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vpnClientConfiguration: + description: |- + Storage version of v1api20201101.VpnClientConfiguration + VpnClientConfiguration for P2S client. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAudience: + type: string + aadIssuer: + type: string + aadTenant: + type: string + radiusServerAddress: + type: string + radiusServerSecret: + type: string + radiusServers: + items: + description: |- + Storage version of v1api20201101.RadiusServer + Radius Server Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + radiusServerAddress: + type: string + radiusServerScore: + type: integer + radiusServerSecret: + type: string + type: object + type: array + vpnAuthenticationTypes: + items: + type: string + type: array + vpnClientAddressPool: + description: |- + Storage version of v1api20201101.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + items: + description: |- + Storage version of v1api20201101.IpsecPolicy + An IPSec Policy configuration for a virtual network gateway connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dhGroup: + type: string + ikeEncryption: + type: string + ikeIntegrity: + type: string + ipsecEncryption: + type: string + ipsecIntegrity: + type: string + pfsGroup: + type: string + saDataSizeKilobytes: + type: integer + saLifeTimeSeconds: + type: integer + type: object + type: array + vpnClientProtocols: + items: + type: string + type: array + vpnClientRevokedCertificates: + items: + description: |- + Storage version of v1api20201101.VpnClientRevokedCertificate + VPN client revoked certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + thumbprint: + type: string + type: object + type: array + vpnClientRootCertificates: + items: + description: |- + Storage version of v1api20201101.VpnClientRootCertificate + VPN client root certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicCertData: + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + type: string + vpnType: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.VirtualNetworkGateway_STATUS + A common class for general resource information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeActive: + type: boolean + bgpSettings: + description: |- + Storage version of v1api20201101.BgpSettings_STATUS + BGP settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + asn: + format: int32 + type: integer + bgpPeeringAddress: + type: string + bgpPeeringAddresses: + items: + description: |- + Storage version of v1api20201101.IPConfigurationBgpPeeringAddress_STATUS + Properties of IPConfigurationBgpPeeringAddress. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBgpIpAddresses: + items: + type: string + type: array + defaultBgpIpAddresses: + items: + type: string + type: array + ipconfigurationId: + type: string + tunnelIpAddresses: + items: + type: string + type: array + type: object + type: array + peerWeight: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRoutes: + description: |- + Storage version of v1api20201101.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + enableBgp: + type: boolean + enableDnsForwarding: + type: boolean + enablePrivateIpAddress: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + gatewayDefaultSite: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + gatewayType: + type: string + id: + type: string + inboundDnsForwardingEndpoint: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkGatewayIPConfiguration_STATUS + IP configuration for virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + privateIPAddress: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20201101.VirtualNetworkGatewaySku_STATUS + VirtualNetworkGatewaySku details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + vNetExtendedLocationResourceId: + type: string + vpnClientConfiguration: + description: |- + Storage version of v1api20201101.VpnClientConfiguration_STATUS + VpnClientConfiguration for P2S client. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAudience: + type: string + aadIssuer: + type: string + aadTenant: + type: string + radiusServerAddress: + type: string + radiusServerSecret: + type: string + radiusServers: + items: + description: |- + Storage version of v1api20201101.RadiusServer_STATUS + Radius Server Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + radiusServerAddress: + type: string + radiusServerScore: + type: integer + radiusServerSecret: + type: string + type: object + type: array + vpnAuthenticationTypes: + items: + type: string + type: array + vpnClientAddressPool: + description: |- + Storage version of v1api20201101.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + items: + description: |- + Storage version of v1api20201101.IpsecPolicy_STATUS + An IPSec Policy configuration for a virtual network gateway connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dhGroup: + type: string + ikeEncryption: + type: string + ikeIntegrity: + type: string + ipsecEncryption: + type: string + ipsecIntegrity: + type: string + pfsGroup: + type: string + saDataSizeKilobytes: + type: integer + saLifeTimeSeconds: + type: integer + type: object + type: array + vpnClientProtocols: + items: + type: string + type: array + vpnClientRevokedCertificates: + items: + description: |- + Storage version of v1api20201101.VpnClientRevokedCertificate_STATUS + VPN client revoked certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + thumbprint: + type: string + type: object + type: array + vpnClientRootCertificates: + items: + description: |- + Storage version of v1api20201101.VpnClientRootCertificate_STATUS + VPN client root certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + publicCertData: + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + type: string + vpnType: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetworkGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeActive: + description: 'ActiveActive: ActiveActive flag.' + type: boolean + adminState: + description: |- + AdminState: Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route + Gateways in the vnet + enum: + - Disabled + - Enabled + type: string + allowRemoteVnetTraffic: + description: |- + AllowRemoteVnetTraffic: Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration + does not support connectivity to Azure Virtual WAN. + type: boolean + allowVirtualWanTraffic: + description: 'AllowVirtualWanTraffic: Configures this gateway to accept traffic from remote Virtual WAN networks.' + type: boolean + autoScaleConfiguration: + description: 'AutoScaleConfiguration: Autoscale configuration for virutal network gateway' + properties: + bounds: + description: 'Bounds: The bounds of the autoscale configuration' + properties: + max: + description: 'Max: Maximum Scale Units for Autoscale configuration' + type: integer + min: + description: 'Min: Minimum scale Units for Autoscale configuration' + type: integer + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpSettings: + description: 'BgpSettings: Virtual network gateway''s BGP speaker settings.' + properties: + asn: + description: 'Asn: The BGP speaker''s ASN.' + format: int32 + type: integer + bgpPeeringAddress: + description: 'BgpPeeringAddress: The BGP peering address and BGP identifier of this BGP speaker.' + type: string + bgpPeeringAddresses: + description: 'BgpPeeringAddresses: BGP peering address with IP configuration ID for virtual network gateway.' + items: + description: Properties of IPConfigurationBgpPeeringAddress. + properties: + customBgpIpAddresses: + description: 'CustomBgpIpAddresses: The list of custom BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + ipconfigurationId: + description: 'IpconfigurationId: The ID of IP configuration which belongs to gateway.' + type: string + type: object + type: array + peerWeight: + description: 'PeerWeight: The weight added to routes learned from this BGP speaker.' + type: integer + type: object + customRoutes: + description: |- + CustomRoutes: The reference to the address space resource which represents the custom routes address space specified by + the customer for virtual network gateway and VpnClient. + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + disableIPSecReplayProtection: + description: 'DisableIPSecReplayProtection: disableIPSecReplayProtection flag.' + type: boolean + enableBgp: + description: 'EnableBgp: Whether BGP is enabled for this virtual network gateway or not.' + type: boolean + enableBgpRouteTranslationForNat: + description: 'EnableBgpRouteTranslationForNat: EnableBgpRouteTranslationForNat flag.' + type: boolean + enableDnsForwarding: + description: 'EnableDnsForwarding: Whether dns forwarding is enabled or not.' + type: boolean + enablePrivateIpAddress: + description: 'EnablePrivateIpAddress: Whether private IP needs to be enabled on this gateway for connections or not.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of type local virtual network gateway.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + gatewayDefaultSite: + description: |- + GatewayDefaultSite: The reference to the LocalNetworkGateway resource which represents local network site having default + routes. Assign Null value in case of removing existing default site setting. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + gatewayType: + description: 'GatewayType: The type of this virtual network gateway.' + enum: + - ExpressRoute + - LocalGateway + - Vpn + type: string + identity: + description: 'Identity: The identity of the virtual network gateway, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipConfigurations: + description: 'IpConfigurations: IP configurations for virtual network gateway.' + items: + description: IP configuration for virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + natRules: + description: 'NatRules: NatRules for virtual network gateway.' + items: + description: VirtualNetworkGatewayNatRule Resource. + properties: + externalMappings: + description: 'ExternalMappings: The private IP address external mapping for NAT.' + items: + description: Vpn NatRule mapping. + properties: + addressSpace: + description: 'AddressSpace: Address space for Vpn NatRule mapping.' + type: string + portRange: + description: 'PortRange: Port range for Vpn NatRule mapping.' + type: string + type: object + type: array + internalMappings: + description: 'InternalMappings: The private IP address internal mapping for NAT.' + items: + description: Vpn NatRule mapping. + properties: + addressSpace: + description: 'AddressSpace: Address space for Vpn NatRule mapping.' + type: string + portRange: + description: 'PortRange: Port range for Vpn NatRule mapping.' + type: string + type: object + type: array + ipConfigurationId: + description: 'IpConfigurationId: The IP Configuration ID this NAT rule applies to.' + type: string + mode: + description: 'Mode: The Source NAT direction of a VPN NAT.' + enum: + - EgressSnat + - IngressSnat + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + type: + description: 'Type: The type of NAT rule for VPN NAT.' + enum: + - Dynamic + - Static + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resiliencyModel: + description: 'ResiliencyModel: Property to indicate if the Express Route Gateway has resiliency model of MultiHomed or SingleHomed' + enum: + - MultiHomed + - SingleHomed + type: string + sku: + description: |- + Sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network + gateway. + properties: + name: + description: 'Name: Gateway SKU name.' + enum: + - Basic + - ErGw1AZ + - ErGw2AZ + - ErGw3AZ + - ErGwScale + - HighPerformance + - Standard + - UltraPerformance + - VpnGw1 + - VpnGw1AZ + - VpnGw2 + - VpnGw2AZ + - VpnGw3 + - VpnGw3AZ + - VpnGw4 + - VpnGw4AZ + - VpnGw5 + - VpnGw5AZ + type: string + tier: + description: 'Tier: Gateway SKU tier.' + enum: + - Basic + - ErGw1AZ + - ErGw2AZ + - ErGw3AZ + - ErGwScale + - HighPerformance + - Standard + - UltraPerformance + - VpnGw1 + - VpnGw1AZ + - VpnGw2 + - VpnGw2AZ + - VpnGw3 + - VpnGw3AZ + - VpnGw4 + - VpnGw4AZ + - VpnGw5 + - VpnGw5AZ + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vNetExtendedLocationResourceReference: + description: |- + VNetExtendedLocationResourceReference: Customer vnet resource id. VirtualNetworkGateway of type local gateway is + associated with the customer vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + virtualNetworkGatewayPolicyGroups: + description: |- + VirtualNetworkGatewayPolicyGroups: The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the + available VirtualNetworkGatewayPolicyGroup for the gateway. + items: + description: Parameters for VirtualNetworkGatewayPolicyGroup. + properties: + isDefault: + description: 'IsDefault: Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not.' + type: boolean + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + policyMembers: + description: 'PolicyMembers: Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup.' + items: + description: Vpn Client Connection configuration PolicyGroup member + properties: + attributeType: + description: 'AttributeType: The Vpn Policy member attribute type.' + enum: + - AADGroupId + - CertificateGroupId + - RadiusAzureGroupId + type: string + attributeValue: + description: 'AttributeValue: The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember.' + type: string + name: + description: 'Name: Name of the VirtualNetworkGatewayPolicyGroupMember.' + type: string + type: object + type: array + priority: + description: 'Priority: Priority for VirtualNetworkGatewayPolicyGroup.' + type: integer + required: + - isDefault + - policyMembers + - priority + type: object + type: array + vpnClientConfiguration: + description: |- + VpnClientConfiguration: The reference to the VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + properties: + aadAudience: + description: |- + AadAudience: The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadIssuer: + description: |- + AadIssuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadTenant: + description: |- + AadTenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + radiusServerAddress: + description: 'RadiusServerAddress: The radius server address property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServerSecret: + description: 'RadiusServerSecret: The radius secret property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServers: + description: 'RadiusServers: The radiusServers property for multiple radius server configuration.' + items: + description: Radius Server Settings. + properties: + radiusServerAddress: + description: 'RadiusServerAddress: The address of this radius server.' + type: string + radiusServerScore: + description: 'RadiusServerScore: The initial score assigned to this radius server.' + type: integer + radiusServerSecret: + description: 'RadiusServerSecret: The secret used for this radius server.' + type: string + required: + - radiusServerAddress + type: object + type: array + vngClientConnectionConfigurations: + description: 'VngClientConnectionConfigurations: per ip address pool connection policy for virtual network gateway P2S client.' + items: + description: A vpn client connection configuration for client connection configuration. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + vpnAuthenticationTypes: + description: 'VpnAuthenticationTypes: VPN authentication types for the virtual network gateway..' + items: + enum: + - AAD + - Certificate + - Radius + type: string + type: array + vpnClientAddressPool: + description: 'VpnClientAddressPool: The reference to the address space resource which represents Address space for P2S VpnClient.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + description: 'VpnClientIpsecPolicies: VpnClientIpsecPolicies for virtual network gateway P2S client.' + items: + description: An IPSec Policy configuration for a virtual network gateway connection. + properties: + dhGroup: + description: 'DhGroup: The DH Group used in IKE Phase 1 for initial SA.' + enum: + - DHGroup1 + - DHGroup14 + - DHGroup2 + - DHGroup2048 + - DHGroup24 + - ECP256 + - ECP384 + - None + type: string + ikeEncryption: + description: 'IkeEncryption: The IKE encryption algorithm (IKE phase 2).' + enum: + - AES128 + - AES192 + - AES256 + - DES + - DES3 + - GCMAES128 + - GCMAES256 + type: string + ikeIntegrity: + description: 'IkeIntegrity: The IKE integrity algorithm (IKE phase 2).' + enum: + - GCMAES128 + - GCMAES256 + - MD5 + - SHA1 + - SHA256 + - SHA384 + type: string + ipsecEncryption: + description: 'IpsecEncryption: The IPSec encryption algorithm (IKE phase 1).' + enum: + - AES128 + - AES192 + - AES256 + - DES + - DES3 + - GCMAES128 + - GCMAES192 + - GCMAES256 + - None + type: string + ipsecIntegrity: + description: 'IpsecIntegrity: The IPSec integrity algorithm (IKE phase 1).' + enum: + - GCMAES128 + - GCMAES192 + - GCMAES256 + - MD5 + - SHA1 + - SHA256 + type: string + pfsGroup: + description: 'PfsGroup: The Pfs Group used in IKE Phase 2 for new child SA.' + enum: + - ECP256 + - ECP384 + - None + - PFS1 + - PFS14 + - PFS2 + - PFS2048 + - PFS24 + - PFSMM + type: string + saDataSizeKilobytes: + description: |- + SaDataSizeKilobytes: The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site + to site VPN tunnel. + type: integer + saLifeTimeSeconds: + description: |- + SaLifeTimeSeconds: The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site + to site VPN tunnel. + type: integer + required: + - dhGroup + - ikeEncryption + - ikeIntegrity + - ipsecEncryption + - ipsecIntegrity + - pfsGroup + - saDataSizeKilobytes + - saLifeTimeSeconds + type: object + type: array + vpnClientProtocols: + description: 'VpnClientProtocols: VpnClientProtocols for Virtual network gateway.' + items: + enum: + - IkeV2 + - OpenVPN + - SSTP + type: string + type: array + vpnClientRevokedCertificates: + description: 'VpnClientRevokedCertificates: VpnClientRevokedCertificate for Virtual network gateway.' + items: + description: VPN client revoked certificate of virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + thumbprint: + description: 'Thumbprint: The revoked VPN client certificate thumbprint.' + type: string + type: object + type: array + vpnClientRootCertificates: + description: 'VpnClientRootCertificates: VpnClientRootCertificate for virtual network gateway.' + items: + description: VPN client root certificate of virtual network gateway. + properties: + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicCertData: + description: 'PublicCertData: The certificate public data.' + type: string + required: + - publicCertData + type: object + type: array + type: object + vpnGatewayGeneration: + description: 'VpnGatewayGeneration: The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.' + enum: + - Generation1 + - Generation2 + - None + type: string + vpnType: + description: 'VpnType: The type of this virtual network gateway.' + enum: + - PolicyBased + - RouteBased + type: string + required: + - owner + type: object + status: + description: A common class for general resource information. + properties: + activeActive: + description: 'ActiveActive: ActiveActive flag.' + type: boolean + adminState: + description: |- + AdminState: Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route + Gateways in the vnet + type: string + allowRemoteVnetTraffic: + description: |- + AllowRemoteVnetTraffic: Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration + does not support connectivity to Azure Virtual WAN. + type: boolean + allowVirtualWanTraffic: + description: 'AllowVirtualWanTraffic: Configures this gateway to accept traffic from remote Virtual WAN networks.' + type: boolean + autoScaleConfiguration: + description: 'AutoScaleConfiguration: Autoscale configuration for virutal network gateway' + properties: + bounds: + description: 'Bounds: The bounds of the autoscale configuration' + properties: + max: + description: 'Max: Maximum Scale Units for Autoscale configuration' + type: integer + min: + description: 'Min: Minimum scale Units for Autoscale configuration' + type: integer + type: object + type: object + bgpSettings: + description: 'BgpSettings: Virtual network gateway''s BGP speaker settings.' + properties: + asn: + description: 'Asn: The BGP speaker''s ASN.' + format: int32 + type: integer + bgpPeeringAddress: + description: 'BgpPeeringAddress: The BGP peering address and BGP identifier of this BGP speaker.' + type: string + bgpPeeringAddresses: + description: 'BgpPeeringAddresses: BGP peering address with IP configuration ID for virtual network gateway.' + items: + description: Properties of IPConfigurationBgpPeeringAddress. + properties: + customBgpIpAddresses: + description: 'CustomBgpIpAddresses: The list of custom BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + defaultBgpIpAddresses: + description: 'DefaultBgpIpAddresses: The list of default BGP peering addresses which belong to IP configuration.' + items: + type: string + type: array + ipconfigurationId: + description: 'IpconfigurationId: The ID of IP configuration which belongs to gateway.' + type: string + tunnelIpAddresses: + description: 'TunnelIpAddresses: The list of tunnel public IP addresses which belong to IP configuration.' + items: + type: string + type: array + type: object + type: array + peerWeight: + description: 'PeerWeight: The weight added to routes learned from this BGP speaker.' + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRoutes: + description: |- + CustomRoutes: The reference to the address space resource which represents the custom routes address space specified by + the customer for virtual network gateway and VpnClient. + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + disableIPSecReplayProtection: + description: 'DisableIPSecReplayProtection: disableIPSecReplayProtection flag.' + type: boolean + enableBgp: + description: 'EnableBgp: Whether BGP is enabled for this virtual network gateway or not.' + type: boolean + enableBgpRouteTranslationForNat: + description: 'EnableBgpRouteTranslationForNat: EnableBgpRouteTranslationForNat flag.' + type: boolean + enableDnsForwarding: + description: 'EnableDnsForwarding: Whether dns forwarding is enabled or not.' + type: boolean + enablePrivateIpAddress: + description: 'EnablePrivateIpAddress: Whether private IP needs to be enabled on this gateway for connections or not.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of type local virtual network gateway.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + gatewayDefaultSite: + description: |- + GatewayDefaultSite: The reference to the LocalNetworkGateway resource which represents local network site having default + routes. Assign Null value in case of removing existing default site setting. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + gatewayType: + description: 'GatewayType: The type of this virtual network gateway.' + type: string + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The identity of the virtual network gateway, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. 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 virtual + machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + inboundDnsForwardingEndpoint: + description: 'InboundDnsForwardingEndpoint: The IP address allocated by the gateway to which dns requests can be sent.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configurations for virtual network gateway.' + items: + description: IP configuration for virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address for this gateway.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network gateway IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + natRules: + description: 'NatRules: NatRules for virtual network gateway.' + items: + description: VirtualNetworkGatewayNatRule Resource. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + externalMappings: + description: 'ExternalMappings: The private IP address external mapping for NAT.' + items: + description: Vpn NatRule mapping. + properties: + addressSpace: + description: 'AddressSpace: Address space for Vpn NatRule mapping.' + type: string + portRange: + description: 'PortRange: Port range for Vpn NatRule mapping.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + internalMappings: + description: 'InternalMappings: The private IP address internal mapping for NAT.' + items: + description: Vpn NatRule mapping. + properties: + addressSpace: + description: 'AddressSpace: Address space for Vpn NatRule mapping.' + type: string + portRange: + description: 'PortRange: Port range for Vpn NatRule mapping.' + type: string + type: object + type: array + ipConfigurationId: + description: 'IpConfigurationId: The IP Configuration ID this NAT rule applies to.' + type: string + mode: + description: 'Mode: The Source NAT direction of a VPN NAT.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + properties_type: + description: 'PropertiesType: The type of NAT rule for VPN NAT.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the NAT Rule resource.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network gateway resource.' + type: string + resiliencyModel: + description: 'ResiliencyModel: Property to indicate if the Express Route Gateway has resiliency model of MultiHomed or SingleHomed' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the virtual network gateway resource.' + type: string + sku: + description: |- + Sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network + gateway. + properties: + capacity: + description: 'Capacity: The capacity.' + type: integer + name: + description: 'Name: Gateway SKU name.' + type: string + tier: + description: 'Tier: Gateway SKU tier.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + vNetExtendedLocationResourceId: + description: |- + VNetExtendedLocationResourceId: Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated + with the customer vnet. + type: string + virtualNetworkGatewayPolicyGroups: + description: |- + VirtualNetworkGatewayPolicyGroups: The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the + available VirtualNetworkGatewayPolicyGroup for the gateway. + items: + description: Parameters for VirtualNetworkGatewayPolicyGroup. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + isDefault: + description: 'IsDefault: Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not.' + type: boolean + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + policyMembers: + description: 'PolicyMembers: Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup.' + items: + description: Vpn Client Connection configuration PolicyGroup member + properties: + attributeType: + description: 'AttributeType: The Vpn Policy member attribute type.' + type: string + attributeValue: + description: 'AttributeValue: The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember.' + type: string + name: + description: 'Name: Name of the VirtualNetworkGatewayPolicyGroupMember.' + type: string + type: object + type: array + priority: + description: 'Priority: Priority for VirtualNetworkGatewayPolicyGroup.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the VirtualNetworkGatewayPolicyGroup resource.' + type: string + vngClientConnectionConfigurations: + description: 'VngClientConnectionConfigurations: List of references to vngClientConnectionConfigurations.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: object + type: array + vpnClientConfiguration: + description: |- + VpnClientConfiguration: The reference to the VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + properties: + aadAudience: + description: |- + AadAudience: The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadIssuer: + description: |- + AadIssuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + aadTenant: + description: |- + AadTenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD + authentication. + type: string + radiusServerAddress: + description: 'RadiusServerAddress: The radius server address property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServerSecret: + description: 'RadiusServerSecret: The radius secret property of the VirtualNetworkGateway resource for vpn client connection.' + type: string + radiusServers: + description: 'RadiusServers: The radiusServers property for multiple radius server configuration.' + items: + description: Radius Server Settings. + properties: + radiusServerAddress: + description: 'RadiusServerAddress: The address of this radius server.' + type: string + radiusServerScore: + description: 'RadiusServerScore: The initial score assigned to this radius server.' + type: integer + radiusServerSecret: + description: 'RadiusServerSecret: The secret used for this radius server.' + type: string + type: object + type: array + vngClientConnectionConfigurations: + description: 'VngClientConnectionConfigurations: per ip address pool connection policy for virtual network gateway P2S client.' + items: + description: A vpn client connection configuration for client connection configuration. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + vpnAuthenticationTypes: + description: 'VpnAuthenticationTypes: VPN authentication types for the virtual network gateway..' + items: + type: string + type: array + vpnClientAddressPool: + description: 'VpnClientAddressPool: The reference to the address space resource which represents Address space for P2S VpnClient.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + description: 'VpnClientIpsecPolicies: VpnClientIpsecPolicies for virtual network gateway P2S client.' + items: + description: An IPSec Policy configuration for a virtual network gateway connection. + properties: + dhGroup: + description: 'DhGroup: The DH Group used in IKE Phase 1 for initial SA.' + type: string + ikeEncryption: + description: 'IkeEncryption: The IKE encryption algorithm (IKE phase 2).' + type: string + ikeIntegrity: + description: 'IkeIntegrity: The IKE integrity algorithm (IKE phase 2).' + type: string + ipsecEncryption: + description: 'IpsecEncryption: The IPSec encryption algorithm (IKE phase 1).' + type: string + ipsecIntegrity: + description: 'IpsecIntegrity: The IPSec integrity algorithm (IKE phase 1).' + type: string + pfsGroup: + description: 'PfsGroup: The Pfs Group used in IKE Phase 2 for new child SA.' + type: string + saDataSizeKilobytes: + description: |- + SaDataSizeKilobytes: The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site + to site VPN tunnel. + type: integer + saLifeTimeSeconds: + description: |- + SaLifeTimeSeconds: The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site + to site VPN tunnel. + type: integer + type: object + type: array + vpnClientProtocols: + description: 'VpnClientProtocols: VpnClientProtocols for Virtual network gateway.' + items: + type: string + type: array + vpnClientRevokedCertificates: + description: 'VpnClientRevokedCertificates: VpnClientRevokedCertificate for Virtual network gateway.' + items: + description: VPN client revoked certificate of virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the VPN client revoked certificate resource.' + type: string + thumbprint: + description: 'Thumbprint: The revoked VPN client certificate thumbprint.' + type: string + type: object + type: array + vpnClientRootCertificates: + description: 'VpnClientRootCertificates: VpnClientRootCertificate for virtual network gateway.' + items: + description: VPN client root certificate of virtual network gateway. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the VPN client root certificate resource.' + type: string + publicCertData: + description: 'PublicCertData: The certificate public data.' + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + description: 'VpnGatewayGeneration: The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.' + type: string + vpnType: + description: 'VpnType: The type of this virtual network gateway.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.VirtualNetworkGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetworkGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.VirtualNetworkGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeActive: + type: boolean + adminState: + type: string + allowRemoteVnetTraffic: + type: boolean + allowVirtualWanTraffic: + type: boolean + autoScaleConfiguration: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayAutoScaleConfiguration + Virtual Network Gateway Autoscale Configuration details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bounds: + description: Storage version of v1api20240301.VirtualNetworkGatewayAutoScaleBounds + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpSettings: + description: |- + Storage version of v1api20240301.BgpSettings + BGP settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + asn: + format: int32 + type: integer + bgpPeeringAddress: + type: string + bgpPeeringAddresses: + items: + description: |- + Storage version of v1api20240301.IPConfigurationBgpPeeringAddress + Properties of IPConfigurationBgpPeeringAddress. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBgpIpAddresses: + items: + type: string + type: array + ipconfigurationId: + type: string + type: object + type: array + peerWeight: + type: integer + type: object + customRoutes: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + disableIPSecReplayProtection: + type: boolean + enableBgp: + type: boolean + enableBgpRouteTranslationForNat: + type: boolean + enableDnsForwarding: + type: boolean + enablePrivateIpAddress: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + gatewayDefaultSite: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + gatewayType: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayIPConfiguration + IP configuration for virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + natRules: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayNatRule + VirtualNetworkGatewayNatRule Resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + externalMappings: + items: + description: |- + Storage version of v1api20240301.VpnNatRuleMapping + Vpn NatRule mapping. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + type: string + portRange: + type: string + type: object + type: array + internalMappings: + items: + description: |- + Storage version of v1api20240301.VpnNatRuleMapping + Vpn NatRule mapping. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + type: string + portRange: + type: string + type: object + type: array + ipConfigurationId: + type: string + mode: + type: string + name: + type: string + type: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resiliencyModel: + type: string + sku: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewaySku + VirtualNetworkGatewaySku details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + vNetExtendedLocationResourceReference: + description: |- + VNetExtendedLocationResourceReference: Customer vnet resource id. VirtualNetworkGateway of type local gateway is + associated with the customer vnet. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + virtualNetworkGatewayPolicyGroups: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayPolicyGroup + Parameters for VirtualNetworkGatewayPolicyGroup. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + name: + type: string + policyMembers: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayPolicyGroupMember + Vpn Client Connection configuration PolicyGroup member + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + attributeType: + type: string + attributeValue: + type: string + name: + type: string + type: object + type: array + priority: + type: integer + type: object + type: array + vpnClientConfiguration: + description: |- + Storage version of v1api20240301.VpnClientConfiguration + VpnClientConfiguration for P2S client. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAudience: + type: string + aadIssuer: + type: string + aadTenant: + type: string + radiusServerAddress: + type: string + radiusServerSecret: + type: string + radiusServers: + items: + description: |- + Storage version of v1api20240301.RadiusServer + Radius Server Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + radiusServerAddress: + type: string + radiusServerScore: + type: integer + radiusServerSecret: + type: string + type: object + type: array + vngClientConnectionConfigurations: + items: + description: |- + Storage version of v1api20240301.VngClientConnectionConfiguration + A vpn client connection configuration for client connection configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + vpnAuthenticationTypes: + items: + type: string + type: array + vpnClientAddressPool: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + items: + description: |- + Storage version of v1api20240301.IpsecPolicy + An IPSec Policy configuration for a virtual network gateway connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dhGroup: + type: string + ikeEncryption: + type: string + ikeIntegrity: + type: string + ipsecEncryption: + type: string + ipsecIntegrity: + type: string + pfsGroup: + type: string + saDataSizeKilobytes: + type: integer + saLifeTimeSeconds: + type: integer + type: object + type: array + vpnClientProtocols: + items: + type: string + type: array + vpnClientRevokedCertificates: + items: + description: |- + Storage version of v1api20240301.VpnClientRevokedCertificate + VPN client revoked certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + thumbprint: + type: string + type: object + type: array + vpnClientRootCertificates: + items: + description: |- + Storage version of v1api20240301.VpnClientRootCertificate + VPN client root certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicCertData: + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + type: string + vpnType: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.VirtualNetworkGateway_STATUS + A common class for general resource information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeActive: + type: boolean + adminState: + type: string + allowRemoteVnetTraffic: + type: boolean + allowVirtualWanTraffic: + type: boolean + autoScaleConfiguration: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayAutoScaleConfiguration_STATUS + Virtual Network Gateway Autoscale Configuration details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bounds: + description: Storage version of v1api20240301.VirtualNetworkGatewayAutoScaleBounds_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: object + bgpSettings: + description: |- + Storage version of v1api20240301.BgpSettings_STATUS + BGP settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + asn: + format: int32 + type: integer + bgpPeeringAddress: + type: string + bgpPeeringAddresses: + items: + description: |- + Storage version of v1api20240301.IPConfigurationBgpPeeringAddress_STATUS + Properties of IPConfigurationBgpPeeringAddress. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBgpIpAddresses: + items: + type: string + type: array + defaultBgpIpAddresses: + items: + type: string + type: array + ipconfigurationId: + type: string + tunnelIpAddresses: + items: + type: string + type: array + type: object + type: array + peerWeight: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRoutes: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + disableIPSecReplayProtection: + type: boolean + enableBgp: + type: boolean + enableBgpRouteTranslationForNat: + type: boolean + enableDnsForwarding: + type: boolean + enablePrivateIpAddress: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + gatewayDefaultSite: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + gatewayType: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240301.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + inboundDnsForwardingEndpoint: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayIPConfiguration_STATUS + IP configuration for virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + privateIPAddress: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + location: + type: string + name: + type: string + natRules: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayNatRule_STATUS + VirtualNetworkGatewayNatRule Resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + externalMappings: + items: + description: |- + Storage version of v1api20240301.VpnNatRuleMapping_STATUS + Vpn NatRule mapping. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + type: string + portRange: + type: string + type: object + type: array + id: + type: string + internalMappings: + items: + description: |- + Storage version of v1api20240301.VpnNatRuleMapping_STATUS + Vpn NatRule mapping. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + type: string + portRange: + type: string + type: object + type: array + ipConfigurationId: + type: string + mode: + type: string + name: + type: string + properties_type: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + provisioningState: + type: string + resiliencyModel: + type: string + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewaySku_STATUS + VirtualNetworkGatewaySku details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + vNetExtendedLocationResourceId: + type: string + virtualNetworkGatewayPolicyGroups: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayPolicyGroup_STATUS + Parameters for VirtualNetworkGatewayPolicyGroup. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + isDefault: + type: boolean + name: + type: string + policyMembers: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkGatewayPolicyGroupMember_STATUS + Vpn Client Connection configuration PolicyGroup member + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + attributeType: + type: string + attributeValue: + type: string + name: + type: string + type: object + type: array + priority: + type: integer + provisioningState: + type: string + vngClientConnectionConfigurations: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: array + vpnClientConfiguration: + description: |- + Storage version of v1api20240301.VpnClientConfiguration_STATUS + VpnClientConfiguration for P2S client. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAudience: + type: string + aadIssuer: + type: string + aadTenant: + type: string + radiusServerAddress: + type: string + radiusServerSecret: + type: string + radiusServers: + items: + description: |- + Storage version of v1api20240301.RadiusServer_STATUS + Radius Server Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + radiusServerAddress: + type: string + radiusServerScore: + type: integer + radiusServerSecret: + type: string + type: object + type: array + vngClientConnectionConfigurations: + items: + description: |- + Storage version of v1api20240301.VngClientConnectionConfiguration_STATUS + A vpn client connection configuration for client connection configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + vpnAuthenticationTypes: + items: + type: string + type: array + vpnClientAddressPool: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + vpnClientIpsecPolicies: + items: + description: |- + Storage version of v1api20240301.IpsecPolicy_STATUS + An IPSec Policy configuration for a virtual network gateway connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dhGroup: + type: string + ikeEncryption: + type: string + ikeIntegrity: + type: string + ipsecEncryption: + type: string + ipsecIntegrity: + type: string + pfsGroup: + type: string + saDataSizeKilobytes: + type: integer + saLifeTimeSeconds: + type: integer + type: object + type: array + vpnClientProtocols: + items: + type: string + type: array + vpnClientRevokedCertificates: + items: + description: |- + Storage version of v1api20240301.VpnClientRevokedCertificate_STATUS + VPN client revoked certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + thumbprint: + type: string + type: object + type: array + vpnClientRootCertificates: + items: + description: |- + Storage version of v1api20240301.VpnClientRootCertificate_STATUS + VPN client root certificate of virtual network gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + publicCertData: + type: string + type: object + type: array + type: object + vpnGatewayGeneration: + type: string + vpnType: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualnetworks.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: VirtualNetwork + listKind: VirtualNetworkList + plural: virtualnetworks + singular: virtualnetwork + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressSpace: + description: 'AddressSpace: The AddressSpace that contains an array of IP address ranges that can be used by subnets.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpCommunities: + description: 'BgpCommunities: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.' + properties: + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + required: + - virtualNetworkCommunity + type: object + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dhcpOptions: + description: 'DhcpOptions: The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.' + properties: + dnsServers: + description: 'DnsServers: The list of DNS servers IP addresses.' + items: + type: string + type: array + type: object + enableDdosProtection: + description: |- + EnableDdosProtection: Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It + requires a DDoS protection plan associated with the resource. + type: boolean + enableVmProtection: + description: 'EnableVmProtection: Indicates if VM protection is enabled for all the subnets in the virtual network.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the virtual network.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this VNET.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Virtual Network resource. + properties: + addressSpace: + description: 'AddressSpace: The AddressSpace that contains an array of IP address ranges that can be used by subnets.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + bgpCommunities: + description: 'BgpCommunities: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.' + properties: + regionalCommunity: + description: 'RegionalCommunity: The BGP community associated with the region of the virtual network.' + type: string + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + dhcpOptions: + description: 'DhcpOptions: The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.' + properties: + dnsServers: + description: 'DnsServers: The list of DNS servers IP addresses.' + items: + type: string + type: array + type: object + enableDdosProtection: + description: |- + EnableDdosProtection: Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It + requires a DDoS protection plan associated with the resource. + type: boolean + enableVmProtection: + description: 'EnableVmProtection: Indicates if VM protection is enabled for all the subnets in the virtual network.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the virtual network.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this VNET.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the Virtual Network resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.VirtualNetwork + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.VirtualNetwork_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + description: |- + Storage version of v1api20201101.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpCommunities: + description: |- + Storage version of v1api20201101.VirtualNetworkBgpCommunities + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + virtualNetworkCommunity: + type: string + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dhcpOptions: + description: |- + Storage version of v1api20201101.DhcpOptions + DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for + a subnet overrides VNET DHCP options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableDdosProtection: + type: boolean + enableVmProtection: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipAllocations: + items: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201101.VirtualNetworkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.VirtualNetwork_STATUS + Virtual Network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + description: |- + Storage version of v1api20201101.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + bgpCommunities: + description: |- + Storage version of v1api20201101.VirtualNetworkBgpCommunities_STATUS + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regionalCommunity: + type: string + virtualNetworkCommunity: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosProtectionPlan: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + dhcpOptions: + description: |- + Storage version of v1api20201101.DhcpOptions_STATUS + DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for + a subnet overrides VNET DHCP options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableDdosProtection: + type: boolean + enableVmProtection: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipAllocations: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressSpace: + description: 'AddressSpace: The AddressSpace that contains an array of IP address ranges that can be used by subnets.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpCommunities: + description: 'BgpCommunities: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.' + properties: + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + required: + - virtualNetworkCommunity + type: object + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dhcpOptions: + description: 'DhcpOptions: The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.' + properties: + dnsServers: + description: 'DnsServers: The list of DNS servers IP addresses.' + items: + type: string + type: array + type: object + enableDdosProtection: + description: |- + EnableDdosProtection: Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It + requires a DDoS protection plan associated with the resource. + type: boolean + enableVmProtection: + description: 'EnableVmProtection: Indicates if VM protection is enabled for all the subnets in the virtual network.' + type: boolean + encryption: + description: |- + Encryption: Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted + VNet. + properties: + enabled: + description: 'Enabled: Indicates if encryption is enabled on the virtual network.' + type: boolean + enforcement: + description: |- + Enforcement: If the encrypted VNet allows VM that does not support encryption. This field is for future support, + AllowUnencrypted is the only supported value at general availability. + enum: + - AllowUnencrypted + - DropUnencrypted + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the virtual network.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + flowTimeoutInMinutes: + description: 'FlowTimeoutInMinutes: The FlowTimeout value (in minutes) for the Virtual Network' + type: integer + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this VNET.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointVNetPolicies: + description: 'PrivateEndpointVNetPolicies: Private Endpoint VNet Policies.' + enum: + - Basic + - Disabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Virtual Network resource. + properties: + addressSpace: + description: 'AddressSpace: The AddressSpace that contains an array of IP address ranges that can be used by subnets.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + bgpCommunities: + description: 'BgpCommunities: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.' + properties: + regionalCommunity: + description: 'RegionalCommunity: The BGP community associated with the region of the virtual network.' + type: string + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + dhcpOptions: + description: 'DhcpOptions: The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.' + properties: + dnsServers: + description: 'DnsServers: The list of DNS servers IP addresses.' + items: + type: string + type: array + type: object + enableDdosProtection: + description: |- + EnableDdosProtection: Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It + requires a DDoS protection plan associated with the resource. + type: boolean + enableVmProtection: + description: 'EnableVmProtection: Indicates if VM protection is enabled for all the subnets in the virtual network.' + type: boolean + encryption: + description: |- + Encryption: Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted + VNet. + properties: + enabled: + description: 'Enabled: Indicates if encryption is enabled on the virtual network.' + type: boolean + enforcement: + description: |- + Enforcement: If the encrypted VNet allows VM that does not support encryption. This field is for future support, + AllowUnencrypted is the only supported value at general availability. + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the virtual network.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + flowLogs: + description: 'FlowLogs: A collection of references to flow log resources.' + items: + description: A flow log resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + flowTimeoutInMinutes: + description: 'FlowTimeoutInMinutes: The FlowTimeout value (in minutes) for the Virtual Network' + type: integer + id: + description: 'Id: Resource ID.' + type: string + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this VNET.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + privateEndpointVNetPolicies: + description: 'PrivateEndpointVNetPolicies: Private Endpoint VNet Policies.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the Virtual Network resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.VirtualNetwork + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.VirtualNetwork_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bgpCommunities: + description: |- + Storage version of v1api20240301.VirtualNetworkBgpCommunities + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + virtualNetworkCommunity: + type: string + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dhcpOptions: + description: |- + Storage version of v1api20240301.DhcpOptions + DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for + a subnet overrides VNET DHCP options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableDdosProtection: + type: boolean + enableVmProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20240301.VirtualNetworkEncryption + Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + enforcement: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + flowTimeoutInMinutes: + type: integer + ipAllocations: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.VirtualNetworkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointVNetPolicies: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.VirtualNetwork_STATUS + Virtual Network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressSpace: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + bgpCommunities: + description: |- + Storage version of v1api20240301.VirtualNetworkBgpCommunities_STATUS + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regionalCommunity: + type: string + virtualNetworkCommunity: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + dhcpOptions: + description: |- + Storage version of v1api20240301.DhcpOptions_STATUS + DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for + a subnet overrides VNET DHCP options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServers: + items: + type: string + type: array + type: object + enableDdosProtection: + type: boolean + enableVmProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20240301.VirtualNetworkEncryption_STATUS + Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + enforcement: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + flowLogs: + items: + description: |- + Storage version of v1api20240301.FlowLog_STATUS_SubResourceEmbedded + A flow log resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + flowTimeoutInMinutes: + type: integer + id: + type: string + ipAllocations: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + privateEndpointVNetPolicies: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualnetworkssubnets.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: VirtualNetworksSubnet + listKind: VirtualNetworksSubnetList + plural: virtualnetworkssubnets + singular: virtualnetworkssubnet + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressPrefix: + description: 'AddressPrefix: The address prefix for the subnet.' + type: string + addressPrefixes: + description: 'AddressPrefixes: List of address prefixes for the subnet.' + items: + type: string + type: array + applicationGatewayIpConfigurations: + description: 'ApplicationGatewayIpConfigurations: Application gateway IP configurations of virtual network resource.' + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + delegations: + description: 'Delegations: An array of references to the delegations on the subnet.' + items: + description: Details the service to which the subnet is delegated. + properties: + name: + description: 'Name: The name of the resource that is unique within a subnet. This name can be used to access the resource.' + type: string + serviceName: + description: 'ServiceName: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).' + type: string + type: object + type: array + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this subnet.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + natGateway: + description: 'NatGateway: Nat gateway associated with this subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointNetworkPolicies: + description: 'PrivateEndpointNetworkPolicies: Enable or Disable apply network policies on private end point in the subnet.' + enum: + - Disabled + - Enabled + type: string + privateLinkServiceNetworkPolicies: + description: 'PrivateLinkServiceNetworkPolicies: Enable or Disable apply network policies on private link service in the subnet.' + enum: + - Disabled + - Enabled + type: string + routeTable: + description: 'RouteTable: The reference to the RouteTable resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceEndpointPolicies: + description: 'ServiceEndpointPolicies: An array of service endpoint policies.' + items: + description: Service End point policy resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + serviceEndpoints: + description: 'ServiceEndpoints: An array of service endpoints.' + items: + description: The service endpoint properties. + properties: + locations: + description: 'Locations: A list of locations.' + items: + type: string + type: array + service: + description: 'Service: The type of the endpoint service.' + type: string + type: object + type: array + required: + - owner + type: object + status: + properties: + addressPrefix: + description: 'AddressPrefix: The address prefix for the subnet.' + type: string + addressPrefixes: + description: 'AddressPrefixes: List of address prefixes for the subnet.' + items: + type: string + type: array + applicationGatewayIpConfigurations: + description: 'ApplicationGatewayIpConfigurations: Application gateway IP configurations of virtual network resource.' + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + delegations: + description: 'Delegations: An array of references to the delegations on the subnet.' + items: + description: Details the service to which the subnet is delegated. + properties: + actions: + description: 'Actions: The actions permitted to the service upon delegation.' + items: + type: string + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a subnet. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the service delegation resource.' + type: string + serviceName: + description: 'ServiceName: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this subnet.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipConfigurationProfiles: + description: 'IpConfigurationProfiles: Array of IP configuration profiles which reference this subnet.' + items: + description: IP configuration profile child resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipConfigurations: + description: |- + IpConfigurations: An array of references to the network interface IP configurations using subnet. This field is not + included if there are more than 2000 entries. + items: + description: IP configuration. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + natGateway: + description: 'NatGateway: Nat gateway associated with this subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateEndpointNetworkPolicies: + description: 'PrivateEndpointNetworkPolicies: Enable or Disable apply network policies on private end point in the subnet.' + type: string + privateEndpoints: + description: 'PrivateEndpoints: An array of references to private endpoints.' + items: + description: Private endpoint resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkServiceNetworkPolicies: + description: 'PrivateLinkServiceNetworkPolicies: Enable or Disable apply network policies on private link service in the subnet.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the subnet resource.' + type: string + purpose: + description: |- + Purpose: A read-only string identifying the intention of use for this subnet based on delegations and other user-defined + properties. + type: string + resourceNavigationLinks: + description: 'ResourceNavigationLinks: An array of references to the external resources using subnet.' + items: + description: ResourceNavigationLink resource. + properties: + id: + description: 'Id: Resource navigation link identifier.' + type: string + type: object + type: array + routeTable: + description: 'RouteTable: The reference to the RouteTable resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + serviceAssociationLinks: + description: 'ServiceAssociationLinks: An array of references to services injecting into this subnet.' + items: + description: ServiceAssociationLink resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + serviceEndpointPolicies: + description: 'ServiceEndpointPolicies: An array of service endpoint policies.' + items: + description: Service End point policy resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + serviceEndpoints: + description: 'ServiceEndpoints: An array of service endpoints.' + items: + description: The service endpoint properties. + properties: + locations: + description: 'Locations: A list of locations.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the service endpoint resource.' + type: string + service: + description: 'Service: The type of the endpoint service.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.VirtualNetworksSubnet + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.VirtualNetworksSubnet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + addressPrefixes: + items: + type: string + type: array + applicationGatewayIpConfigurations: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayIPConfiguration_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + delegations: + items: + description: |- + Storage version of v1api20201101.Delegation + Details the service to which the subnet is delegated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceName: + type: string + type: object + type: array + ipAllocations: + items: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + natGateway: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkSecurityGroup: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupSpec_VirtualNetworks_Subnet_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20201101.VirtualNetworksSubnetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointNetworkPolicies: + type: string + privateLinkServiceNetworkPolicies: + type: string + routeTable: + description: |- + Storage version of v1api20201101.RouteTableSpec_VirtualNetworks_Subnet_SubResourceEmbedded + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceEndpointPolicies: + items: + description: |- + Storage version of v1api20201101.ServiceEndpointPolicySpec_VirtualNetworks_Subnet_SubResourceEmbedded + Service End point policy resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + serviceEndpoints: + items: + description: |- + Storage version of v1api20201101.ServiceEndpointPropertiesFormat + The service endpoint properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + locations: + items: + type: string + type: array + service: + type: string + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201101.VirtualNetworksSubnet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + addressPrefixes: + items: + type: string + type: array + applicationGatewayIpConfigurations: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayIPConfiguration_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + delegations: + items: + description: |- + Storage version of v1api20201101.Delegation_STATUS + Details the service to which the subnet is delegated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + serviceName: + type: string + type: + type: string + type: object + type: array + etag: + type: string + id: + type: string + ipAllocations: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipConfigurationProfiles: + items: + description: |- + Storage version of v1api20201101.IPConfigurationProfile_STATUS + IP configuration profile child resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.IPConfiguration_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + natGateway: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + networkSecurityGroup: + description: |- + Storage version of v1api20201101.NetworkSecurityGroup_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateEndpointNetworkPolicies: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20201101.PrivateEndpoint_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkServiceNetworkPolicies: + type: string + provisioningState: + type: string + purpose: + type: string + resourceNavigationLinks: + items: + description: |- + Storage version of v1api20201101.ResourceNavigationLink_STATUS + ResourceNavigationLink resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + routeTable: + description: |- + Storage version of v1api20201101.RouteTable_STATUS_SubResourceEmbedded + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + serviceAssociationLinks: + items: + description: |- + Storage version of v1api20201101.ServiceAssociationLink_STATUS + ServiceAssociationLink resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + serviceEndpointPolicies: + items: + description: |- + Storage version of v1api20201101.ServiceEndpointPolicy_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + Service End point policy resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + serviceEndpoints: + items: + description: |- + Storage version of v1api20201101.ServiceEndpointPropertiesFormat_STATUS + The service endpoint properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + locations: + items: + type: string + type: array + provisioningState: + type: string + service: + type: string + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + addressPrefix: + description: 'AddressPrefix: The address prefix for the subnet.' + type: string + addressPrefixes: + description: 'AddressPrefixes: List of address prefixes for the subnet.' + items: + type: string + type: array + applicationGatewayIPConfigurations: + description: 'ApplicationGatewayIPConfigurations: Application gateway IP configurations of virtual network resource.' + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultOutboundAccess: + description: |- + DefaultOutboundAccess: Set this property to false to disable default outbound connectivity for all VMs in the subnet. + This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + type: boolean + delegations: + description: 'Delegations: An array of references to the delegations on the subnet.' + items: + description: Details the service to which the subnet is delegated. + properties: + name: + description: 'Name: The name of the resource that is unique within a subnet. This name can be used to access the resource.' + type: string + serviceName: + description: 'ServiceName: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).' + type: string + type: object + type: array + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this subnet.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + natGateway: + description: 'NatGateway: Nat gateway associated with this subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointNetworkPolicies: + description: 'PrivateEndpointNetworkPolicies: Enable or Disable apply network policies on private end point in the subnet.' + enum: + - Disabled + - Enabled + - NetworkSecurityGroupEnabled + - RouteTableEnabled + type: string + privateLinkServiceNetworkPolicies: + description: 'PrivateLinkServiceNetworkPolicies: Enable or Disable apply network policies on private link service in the subnet.' + enum: + - Disabled + - Enabled + type: string + routeTable: + description: 'RouteTable: The reference to the RouteTable resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceEndpointPolicies: + description: 'ServiceEndpointPolicies: An array of service endpoint policies.' + items: + description: Service End point policy resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + serviceEndpoints: + description: 'ServiceEndpoints: An array of service endpoints.' + items: + description: The service endpoint properties. + properties: + locations: + description: 'Locations: A list of locations.' + items: + type: string + type: array + networkIdentifier: + description: 'NetworkIdentifier: SubResource as network identifier.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + service: + description: 'Service: The type of the endpoint service.' + type: string + type: object + type: array + sharingScope: + description: |- + SharingScope: Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This + property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + enum: + - DelegatedServices + - Tenant + type: string + required: + - owner + type: object + status: + properties: + addressPrefix: + description: 'AddressPrefix: The address prefix for the subnet.' + type: string + addressPrefixes: + description: 'AddressPrefixes: List of address prefixes for the subnet.' + items: + type: string + type: array + applicationGatewayIPConfigurations: + description: 'ApplicationGatewayIPConfigurations: Application gateway IP configurations of virtual network resource.' + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultOutboundAccess: + description: |- + DefaultOutboundAccess: Set this property to false to disable default outbound connectivity for all VMs in the subnet. + This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + type: boolean + delegations: + description: 'Delegations: An array of references to the delegations on the subnet.' + items: + description: Details the service to which the subnet is delegated. + properties: + actions: + description: 'Actions: The actions permitted to the service upon delegation.' + items: + type: string + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a subnet. This name can be used to access the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the service delegation resource.' + type: string + serviceName: + description: 'ServiceName: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipAllocations: + description: 'IpAllocations: Array of IpAllocation which reference this subnet.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipConfigurationProfiles: + description: 'IpConfigurationProfiles: Array of IP configuration profiles which reference this subnet.' + items: + description: IP configuration profile child resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipConfigurations: + description: |- + IpConfigurations: An array of references to the network interface IP configurations using subnet. This field is not + included if there are more than 2000 entries. + items: + description: IP configuration. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + natGateway: + description: 'NatGateway: Nat gateway associated with this subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateEndpointNetworkPolicies: + description: 'PrivateEndpointNetworkPolicies: Enable or Disable apply network policies on private end point in the subnet.' + type: string + privateEndpoints: + description: 'PrivateEndpoints: An array of references to private endpoints.' + items: + description: Private endpoint resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkServiceNetworkPolicies: + description: 'PrivateLinkServiceNetworkPolicies: Enable or Disable apply network policies on private link service in the subnet.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the subnet resource.' + type: string + purpose: + description: |- + Purpose: A read-only string identifying the intention of use for this subnet based on delegations and other user-defined + properties. + type: string + resourceNavigationLinks: + description: 'ResourceNavigationLinks: An array of references to the external resources using subnet.' + items: + description: ResourceNavigationLink resource. + properties: + id: + description: 'Id: Resource navigation link identifier.' + type: string + type: object + type: array + routeTable: + description: 'RouteTable: The reference to the RouteTable resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + serviceAssociationLinks: + description: 'ServiceAssociationLinks: An array of references to services injecting into this subnet.' + items: + description: ServiceAssociationLink resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + serviceEndpointPolicies: + description: 'ServiceEndpointPolicies: An array of service endpoint policies.' + items: + description: Service End point policy resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + serviceEndpoints: + description: 'ServiceEndpoints: An array of service endpoints.' + items: + description: The service endpoint properties. + properties: + locations: + description: 'Locations: A list of locations.' + items: + type: string + type: array + networkIdentifier: + description: 'NetworkIdentifier: SubResource as network identifier.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the service endpoint resource.' + type: string + service: + description: 'Service: The type of the endpoint service.' + type: string + type: object + type: array + sharingScope: + description: |- + SharingScope: Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This + property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.VirtualNetworksSubnet + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.VirtualNetworksSubnet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + addressPrefixes: + items: + type: string + type: array + applicationGatewayIPConfigurations: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayIPConfiguration_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + defaultOutboundAccess: + type: boolean + delegations: + items: + description: |- + Storage version of v1api20240301.Delegation + Details the service to which the subnet is delegated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceName: + type: string + type: object + type: array + ipAllocations: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + natGateway: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + networkSecurityGroup: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupSpec_VirtualNetworks_Subnet_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.VirtualNetworksSubnetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateEndpointNetworkPolicies: + type: string + privateLinkServiceNetworkPolicies: + type: string + routeTable: + description: |- + Storage version of v1api20240301.RouteTableSpec_VirtualNetworks_Subnet_SubResourceEmbedded + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceEndpointPolicies: + items: + description: |- + Storage version of v1api20240301.ServiceEndpointPolicySpec_VirtualNetworks_Subnet_SubResourceEmbedded + Service End point policy resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + serviceEndpoints: + items: + description: |- + Storage version of v1api20240301.ServiceEndpointPropertiesFormat + The service endpoint properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + locations: + items: + type: string + type: array + networkIdentifier: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + service: + type: string + type: object + type: array + sharingScope: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240301.VirtualNetworksSubnet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + addressPrefixes: + items: + type: string + type: array + applicationGatewayIPConfigurations: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayIPConfiguration_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultOutboundAccess: + type: boolean + delegations: + items: + description: |- + Storage version of v1api20240301.Delegation_STATUS + Details the service to which the subnet is delegated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + etag: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + serviceName: + type: string + type: + type: string + type: object + type: array + etag: + type: string + id: + type: string + ipAllocations: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipConfigurationProfiles: + items: + description: |- + Storage version of v1api20240301.IPConfigurationProfile_STATUS + IP configuration profile child resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.IPConfiguration_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + natGateway: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + networkSecurityGroup: + description: |- + Storage version of v1api20240301.NetworkSecurityGroup_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateEndpointNetworkPolicies: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20240301.PrivateEndpoint_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkServiceNetworkPolicies: + type: string + provisioningState: + type: string + purpose: + type: string + resourceNavigationLinks: + items: + description: |- + Storage version of v1api20240301.ResourceNavigationLink_STATUS + ResourceNavigationLink resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + routeTable: + description: |- + Storage version of v1api20240301.RouteTable_STATUS_SubResourceEmbedded + Route table resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + serviceAssociationLinks: + items: + description: |- + Storage version of v1api20240301.ServiceAssociationLink_STATUS + ServiceAssociationLink resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + serviceEndpointPolicies: + items: + description: |- + Storage version of v1api20240301.ServiceEndpointPolicy_STATUS_VirtualNetworks_Subnet_SubResourceEmbedded + Service End point policy resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + serviceEndpoints: + items: + description: |- + Storage version of v1api20240301.ServiceEndpointPropertiesFormat_STATUS + The service endpoint properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + locations: + items: + type: string + type: array + networkIdentifier: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + service: + type: string + type: object + type: array + sharingScope: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: virtualnetworksvirtualnetworkpeerings.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: VirtualNetworksVirtualNetworkPeering + listKind: VirtualNetworksVirtualNetworkPeeringList + plural: virtualnetworksvirtualnetworkpeerings + singular: virtualnetworksvirtualnetworkpeering + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowForwardedTraffic: + description: |- + AllowForwardedTraffic: Whether the forwarded traffic from the VMs in the local virtual network will be + allowed/disallowed in remote virtual network. + type: boolean + allowGatewayTransit: + description: 'AllowGatewayTransit: If gateway links can be used in remote virtual networking to link to this virtual network.' + type: boolean + allowVirtualNetworkAccess: + description: |- + AllowVirtualNetworkAccess: Whether the VMs in the local virtual network space would be able to access the VMs in remote + virtual network space. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotVerifyRemoteGateways: + description: 'DoNotVerifyRemoteGateways: If we need to verify the provisioning state of the remote gateway.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peeringState: + description: 'PeeringState: The status of the virtual network peering.' + enum: + - Connected + - Disconnected + - Initiated + type: string + remoteAddressSpace: + description: 'RemoteAddressSpace: The reference to the remote virtual network address space.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: 'RemoteBgpCommunities: The reference to the remote virtual network''s Bgp Communities.' + properties: + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + required: + - virtualNetworkCommunity + type: object + remoteVirtualNetwork: + description: |- + RemoteVirtualNetwork: The reference to the remote virtual network. The remote virtual network can be in the same or + different region (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + useRemoteGateways: + description: |- + UseRemoteGateways: If remote gateways can be used on this virtual network. If the flag is set to true, and + allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for + transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a + gateway. + type: boolean + required: + - owner + type: object + status: + properties: + allowForwardedTraffic: + description: |- + AllowForwardedTraffic: Whether the forwarded traffic from the VMs in the local virtual network will be + allowed/disallowed in remote virtual network. + type: boolean + allowGatewayTransit: + description: 'AllowGatewayTransit: If gateway links can be used in remote virtual networking to link to this virtual network.' + type: boolean + allowVirtualNetworkAccess: + description: |- + AllowVirtualNetworkAccess: Whether the VMs in the local virtual network space would be able to access the VMs in remote + virtual network space. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotVerifyRemoteGateways: + description: 'DoNotVerifyRemoteGateways: If we need to verify the provisioning state of the remote gateway.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + peeringState: + description: 'PeeringState: The status of the virtual network peering.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network peering resource.' + type: string + remoteAddressSpace: + description: 'RemoteAddressSpace: The reference to the remote virtual network address space.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: 'RemoteBgpCommunities: The reference to the remote virtual network''s Bgp Communities.' + properties: + regionalCommunity: + description: 'RegionalCommunity: The BGP community associated with the region of the virtual network.' + type: string + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + type: object + remoteVirtualNetwork: + description: |- + RemoteVirtualNetwork: The reference to the remote virtual network. The remote virtual network can be in the same or + different region (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the Virtual Network peering resource.' + type: string + type: + description: 'Type: Resource type.' + type: string + useRemoteGateways: + description: |- + UseRemoteGateways: If remote gateways can be used on this virtual network. If the flag is set to true, and + allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for + transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a + gateway. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.VirtualNetworksVirtualNetworkPeering + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.VirtualNetworksVirtualNetworkPeering_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowForwardedTraffic: + type: boolean + allowGatewayTransit: + type: boolean + allowVirtualNetworkAccess: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotVerifyRemoteGateways: + type: boolean + operatorSpec: + description: |- + Storage version of v1api20201101.VirtualNetworksVirtualNetworkPeeringOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peeringState: + type: string + remoteAddressSpace: + description: |- + Storage version of v1api20201101.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: |- + Storage version of v1api20201101.VirtualNetworkBgpCommunities + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + virtualNetworkCommunity: + type: string + type: object + remoteVirtualNetwork: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + useRemoteGateways: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20201101.VirtualNetworksVirtualNetworkPeering_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowForwardedTraffic: + type: boolean + allowGatewayTransit: + type: boolean + allowVirtualNetworkAccess: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotVerifyRemoteGateways: + type: boolean + etag: + type: string + id: + type: string + name: + type: string + peeringState: + type: string + provisioningState: + type: string + remoteAddressSpace: + description: |- + Storage version of v1api20201101.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: |- + Storage version of v1api20201101.VirtualNetworkBgpCommunities_STATUS + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regionalCommunity: + type: string + virtualNetworkCommunity: + type: string + type: object + remoteVirtualNetwork: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resourceGuid: + type: string + type: + type: string + useRemoteGateways: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowForwardedTraffic: + description: |- + AllowForwardedTraffic: Whether the forwarded traffic from the VMs in the local virtual network will be + allowed/disallowed in remote virtual network. + type: boolean + allowGatewayTransit: + description: 'AllowGatewayTransit: If gateway links can be used in remote virtual networking to link to this virtual network.' + type: boolean + allowVirtualNetworkAccess: + description: |- + AllowVirtualNetworkAccess: Whether the VMs in the local virtual network space would be able to access the VMs in remote + virtual network space. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotVerifyRemoteGateways: + description: 'DoNotVerifyRemoteGateways: If we need to verify the provisioning state of the remote gateway.' + type: boolean + enableOnlyIPv6Peering: + description: 'EnableOnlyIPv6Peering: Whether only Ipv6 address space is peered for subnet peering.' + type: boolean + localAddressSpace: + description: 'LocalAddressSpace: The local address space of the local virtual network that is peered.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + localSubnetNames: + description: 'LocalSubnetNames: List of local subnet names that are subnet peered with remote virtual network.' + items: + type: string + type: array + localVirtualNetworkAddressSpace: + description: 'LocalVirtualNetworkAddressSpace: The current local address space of the local virtual network that is peered.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerCompleteVnets: + description: 'PeerCompleteVnets: Whether complete virtual network address space is peered.' + type: boolean + peeringState: + description: 'PeeringState: The status of the virtual network peering.' + enum: + - Connected + - Disconnected + - Initiated + type: string + peeringSyncLevel: + description: 'PeeringSyncLevel: The peering sync status of the virtual network peering.' + enum: + - FullyInSync + - LocalAndRemoteNotInSync + - LocalNotInSync + - RemoteNotInSync + type: string + remoteAddressSpace: + description: 'RemoteAddressSpace: The reference to the address space peered with the remote virtual network.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: 'RemoteBgpCommunities: The reference to the remote virtual network''s Bgp Communities.' + properties: + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + required: + - virtualNetworkCommunity + type: object + remoteSubnetNames: + description: 'RemoteSubnetNames: List of remote subnet names from remote virtual network that are subnet peered.' + items: + type: string + type: array + remoteVirtualNetwork: + description: |- + RemoteVirtualNetwork: The reference to the remote virtual network. The remote virtual network can be in the same or + different region (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + remoteVirtualNetworkAddressSpace: + description: 'RemoteVirtualNetworkAddressSpace: The reference to the current address space of the remote virtual network.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + useRemoteGateways: + description: |- + UseRemoteGateways: If remote gateways can be used on this virtual network. If the flag is set to true, and + allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for + transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a + gateway. + type: boolean + required: + - owner + type: object + status: + properties: + allowForwardedTraffic: + description: |- + AllowForwardedTraffic: Whether the forwarded traffic from the VMs in the local virtual network will be + allowed/disallowed in remote virtual network. + type: boolean + allowGatewayTransit: + description: 'AllowGatewayTransit: If gateway links can be used in remote virtual networking to link to this virtual network.' + type: boolean + allowVirtualNetworkAccess: + description: |- + AllowVirtualNetworkAccess: Whether the VMs in the local virtual network space would be able to access the VMs in remote + virtual network space. + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotVerifyRemoteGateways: + description: 'DoNotVerifyRemoteGateways: If we need to verify the provisioning state of the remote gateway.' + type: boolean + enableOnlyIPv6Peering: + description: 'EnableOnlyIPv6Peering: Whether only Ipv6 address space is peered for subnet peering.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + localAddressSpace: + description: 'LocalAddressSpace: The local address space of the local virtual network that is peered.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + localSubnetNames: + description: 'LocalSubnetNames: List of local subnet names that are subnet peered with remote virtual network.' + items: + type: string + type: array + localVirtualNetworkAddressSpace: + description: 'LocalVirtualNetworkAddressSpace: The current local address space of the local virtual network that is peered.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + peerCompleteVnets: + description: 'PeerCompleteVnets: Whether complete virtual network address space is peered.' + type: boolean + peeringState: + description: 'PeeringState: The status of the virtual network peering.' + type: string + peeringSyncLevel: + description: 'PeeringSyncLevel: The peering sync status of the virtual network peering.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the virtual network peering resource.' + type: string + remoteAddressSpace: + description: 'RemoteAddressSpace: The reference to the address space peered with the remote virtual network.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: 'RemoteBgpCommunities: The reference to the remote virtual network''s Bgp Communities.' + properties: + regionalCommunity: + description: 'RegionalCommunity: The BGP community associated with the region of the virtual network.' + type: string + virtualNetworkCommunity: + description: 'VirtualNetworkCommunity: The BGP community associated with the virtual network.' + type: string + type: object + remoteSubnetNames: + description: 'RemoteSubnetNames: List of remote subnet names from remote virtual network that are subnet peered.' + items: + type: string + type: array + remoteVirtualNetwork: + description: |- + RemoteVirtualNetwork: The reference to the remote virtual network. The remote virtual network can be in the same or + different region (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + remoteVirtualNetworkAddressSpace: + description: 'RemoteVirtualNetworkAddressSpace: The reference to the current address space of the remote virtual network.' + properties: + addressPrefixes: + description: 'AddressPrefixes: A list of address blocks reserved for this virtual network in CIDR notation.' + items: + type: string + type: array + type: object + remoteVirtualNetworkEncryption: + description: 'RemoteVirtualNetworkEncryption: The reference to the remote virtual network''s encryption' + properties: + enabled: + description: 'Enabled: Indicates if encryption is enabled on the virtual network.' + type: boolean + enforcement: + description: |- + Enforcement: If the encrypted VNet allows VM that does not support encryption. This field is for future support, + AllowUnencrypted is the only supported value at general availability. + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the Virtual Network peering resource.' + type: string + type: + description: 'Type: Resource type.' + type: string + useRemoteGateways: + description: |- + UseRemoteGateways: If remote gateways can be used on this virtual network. If the flag is set to true, and + allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for + transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a + gateway. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.VirtualNetworksVirtualNetworkPeering + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/virtualNetwork.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.VirtualNetworksVirtualNetworkPeering_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowForwardedTraffic: + type: boolean + allowGatewayTransit: + type: boolean + allowVirtualNetworkAccess: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + doNotVerifyRemoteGateways: + type: boolean + enableOnlyIPv6Peering: + type: boolean + localAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + localSubnetNames: + items: + type: string + type: array + localVirtualNetworkAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.VirtualNetworksVirtualNetworkPeeringOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/VirtualNetwork resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerCompleteVnets: + type: boolean + peeringState: + type: string + peeringSyncLevel: + type: string + remoteAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: |- + Storage version of v1api20240301.VirtualNetworkBgpCommunities + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + virtualNetworkCommunity: + type: string + type: object + remoteSubnetNames: + items: + type: string + type: array + remoteVirtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + remoteVirtualNetworkAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + useRemoteGateways: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20240301.VirtualNetworksVirtualNetworkPeering_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowForwardedTraffic: + type: boolean + allowGatewayTransit: + type: boolean + allowVirtualNetworkAccess: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + doNotVerifyRemoteGateways: + type: boolean + enableOnlyIPv6Peering: + type: boolean + etag: + type: string + id: + type: string + localAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + localSubnetNames: + items: + type: string + type: array + localVirtualNetworkAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + name: + type: string + peerCompleteVnets: + type: boolean + peeringState: + type: string + peeringSyncLevel: + type: string + provisioningState: + type: string + remoteAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + remoteBgpCommunities: + description: |- + Storage version of v1api20240301.VirtualNetworkBgpCommunities_STATUS + Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regionalCommunity: + type: string + virtualNetworkCommunity: + type: string + type: object + remoteSubnetNames: + items: + type: string + type: array + remoteVirtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + remoteVirtualNetworkAddressSpace: + description: |- + Storage version of v1api20240301.AddressSpace_STATUS + AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefixes: + items: + type: string + type: array + type: object + remoteVirtualNetworkEncryption: + description: |- + Storage version of v1api20240301.VirtualNetworkEncryption_STATUS + Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + enforcement: + type: string + type: object + resourceGuid: + type: string + type: + type: string + useRemoteGateways: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: webapplicationfirewallpolicies.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: WebApplicationFirewallPolicy + listKind: WebApplicationFirewallPolicyList + plural: webapplicationfirewallpolicies + singular: webapplicationfirewallpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/webapplicationfirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 128 + type: string + customRules: + description: 'CustomRules: The custom rules inside the policy.' + items: + description: Defines contents of a web application rule. + properties: + action: + description: 'Action: Type of Actions.' + enum: + - Allow + - Block + - JSChallenge + - Log + type: string + groupByUserSession: + description: 'GroupByUserSession: List of user session identifier group by clauses.' + items: + description: Define user session identifier group by clauses. + properties: + groupByVariables: + description: 'GroupByVariables: List of group by clause variables.' + items: + description: Define user session group by clause variables. + properties: + variableName: + description: 'VariableName: User Session clause variable.' + enum: + - ClientAddr + - GeoLocation + - None + type: string + required: + - variableName + type: object + type: array + required: + - groupByVariables + type: object + type: array + matchConditions: + description: 'MatchConditions: List of match conditions.' + items: + description: Define match conditions. + properties: + matchValues: + description: 'MatchValues: Match value.' + items: + type: string + type: array + matchVariables: + description: 'MatchVariables: List of match variables.' + items: + description: Define match variables. + properties: + selector: + description: 'Selector: The selector of match variable.' + type: string + variableName: + description: 'VariableName: Match Variable.' + enum: + - PostArgs + - QueryString + - RemoteAddr + - RequestBody + - RequestCookies + - RequestHeaders + - RequestMethod + - RequestUri + type: string + required: + - variableName + type: object + type: array + negationConditon: + description: 'NegationConditon: Whether this is negate condition or not.' + type: boolean + operator: + description: 'Operator: The operator to be matched.' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GeoMatch + - GreaterThan + - GreaterThanOrEqual + - IPMatch + - LessThan + - LessThanOrEqual + - Regex + type: string + transforms: + description: 'Transforms: List of transforms.' + items: + description: Transforms applied before matching. + enum: + - HtmlEntityDecode + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + required: + - matchValues + - matchVariables + - operator + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a policy. This name can be used to access the resource.' + maxLength: 128 + type: string + priority: + description: 'Priority: Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.' + type: integer + rateLimitDuration: + description: 'RateLimitDuration: Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule.' + enum: + - FiveMins + - OneMin + type: string + rateLimitThreshold: + description: 'RateLimitThreshold: Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1' + type: integer + ruleType: + description: 'RuleType: The rule type.' + enum: + - Invalid + - MatchRule + - RateLimitRule + type: string + state: + description: 'State: Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.' + enum: + - Disabled + - Enabled + type: string + required: + - action + - matchConditions + - priority + - ruleType + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + managedRules: + description: 'ManagedRules: Describes the managedRules structure.' + properties: + exclusions: + description: 'Exclusions: The Exclusions that are applied on the policy.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + exclusionManagedRuleSets: + description: 'ExclusionManagedRuleSets: The managed rule sets that are associated with the exclusion.' + items: + description: Defines a managed rule set for Exclusions. + properties: + ruleGroups: + description: 'RuleGroups: Defines the rule groups to apply to the rule set.' + items: + description: Defines a managed rule group to use for exclusion. + properties: + ruleGroupName: + description: 'RuleGroupName: The managed rule group for exclusion.' + type: string + rules: + description: 'Rules: List of rules that will be excluded. If none specified, all rules in the group will be excluded.' + items: + description: Defines a managed rule to use for exclusion. + properties: + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + required: + - ruleId + type: object + type: array + required: + - ruleGroupName + type: object + type: array + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + required: + - ruleSetType + - ruleSetVersion + type: object + type: array + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + enum: + - RequestArgKeys + - RequestArgNames + - RequestArgValues + - RequestCookieKeys + - RequestCookieNames + - RequestCookieValues + - RequestHeaderKeys + - RequestHeaderNames + - RequestHeaderValues + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + enum: + - Contains + - EndsWith + - Equals + - EqualsAny + - StartsWith + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + managedRuleSets: + description: 'ManagedRuleSets: The managed rule sets that are associated with the policy.' + items: + description: Defines a managed rule set. + properties: + ruleGroupOverrides: + description: 'RuleGroupOverrides: Defines the rule group overrides to apply to the rule set.' + items: + description: Defines a managed rule group override setting. + properties: + ruleGroupName: + description: 'RuleGroupName: The managed rule group to override.' + type: string + rules: + description: 'Rules: List of rules that will be disabled. If none specified, all rules in the group will be disabled.' + items: + description: Defines a managed rule group override setting. + properties: + action: + description: 'Action: Describes the override action to be applied when rule matches.' + enum: + - Allow + - AnomalyScoring + - Block + - JSChallenge + - Log + type: string + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + state: + description: 'State: The state of the managed rule. Defaults to Disabled if not specified.' + enum: + - Disabled + - Enabled + type: string + required: + - ruleId + type: object + type: array + required: + - ruleGroupName + type: object + type: array + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + required: + - ruleSetType + - ruleSetVersion + type: object + type: array + required: + - managedRuleSets + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policySettings: + description: 'PolicySettings: The PolicySettings for policy.' + properties: + customBlockResponseBody: + description: |- + CustomBlockResponseBody: If the action type is block, customer can override the response body. The body must be + specified in base64 encoding. + maxLength: 32768 + pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ + type: string + customBlockResponseStatusCode: + description: 'CustomBlockResponseStatusCode: If the action type is block, customer can override the response status code.' + minimum: 0 + type: integer + fileUploadEnforcement: + description: 'FileUploadEnforcement: Whether allow WAF to enforce file upload limits.' + type: boolean + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + minimum: 0 + type: integer + jsChallengeCookieExpirationInMins: + description: 'JsChallengeCookieExpirationInMins: Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes.' + maximum: 1440 + minimum: 5 + type: integer + logScrubbing: + description: 'LogScrubbing: To scrub sensitive log fields' + properties: + scrubbingRules: + description: 'ScrubbingRules: The rules that are applied to the logs for scrubbing.' + items: + description: Allow certain variables to be scrubbed on WAF logs + properties: + matchVariable: + description: 'MatchVariable: The variable to be scrubbed from the logs.' + enum: + - RequestArgNames + - RequestCookieNames + - RequestHeaderNames + - RequestIPAddress + - RequestJSONArgNames + - RequestPostArgNames + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this rule + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this rule applies to. + enum: + - Equals + - EqualsAny + type: string + state: + description: 'State: Defines the state of log scrubbing rule. Default value is Enabled.' + enum: + - Disabled + - Enabled + type: string + required: + - matchVariable + - selectorMatchOperator + type: object + type: array + state: + description: 'State: State of the log scrubbing config. Default value is Enabled.' + enum: + - Disabled + - Enabled + type: string + type: object + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + minimum: 8 + type: integer + mode: + description: 'Mode: The mode of the policy.' + enum: + - Detection + - Prevention + type: string + requestBodyCheck: + description: 'RequestBodyCheck: Whether to allow WAF to check request Body.' + type: boolean + requestBodyEnforcement: + description: 'RequestBodyEnforcement: Whether allow WAF to enforce request body limits.' + type: boolean + requestBodyInspectLimitInKB: + description: 'RequestBodyInspectLimitInKB: Max inspection limit in KB for request body inspection for WAF.' + type: integer + state: + description: 'State: The state of the policy.' + enum: + - Disabled + - Enabled + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - managedRules + - owner + type: object + status: + properties: + applicationGateways: + description: 'ApplicationGateways: A collection of references to application gateways.' + items: + description: Application gateway resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRules: + description: 'CustomRules: The custom rules inside the policy.' + items: + description: Defines contents of a web application rule. + properties: + action: + description: 'Action: Type of Actions.' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupByUserSession: + description: 'GroupByUserSession: List of user session identifier group by clauses.' + items: + description: Define user session identifier group by clauses. + properties: + groupByVariables: + description: 'GroupByVariables: List of group by clause variables.' + items: + description: Define user session group by clause variables. + properties: + variableName: + description: 'VariableName: User Session clause variable.' + type: string + type: object + type: array + type: object + type: array + matchConditions: + description: 'MatchConditions: List of match conditions.' + items: + description: Define match conditions. + properties: + matchValues: + description: 'MatchValues: Match value.' + items: + type: string + type: array + matchVariables: + description: 'MatchVariables: List of match variables.' + items: + description: Define match variables. + properties: + selector: + description: 'Selector: The selector of match variable.' + type: string + variableName: + description: 'VariableName: Match Variable.' + type: string + type: object + type: array + negationConditon: + description: 'NegationConditon: Whether this is negate condition or not.' + type: boolean + operator: + description: 'Operator: The operator to be matched.' + type: string + transforms: + description: 'Transforms: List of transforms.' + items: + description: Transforms applied before matching. + type: string + type: array + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a policy. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.' + type: integer + rateLimitDuration: + description: 'RateLimitDuration: Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule.' + type: string + rateLimitThreshold: + description: 'RateLimitThreshold: Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1' + type: integer + ruleType: + description: 'RuleType: The rule type.' + type: string + state: + description: 'State: Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + httpListeners: + description: 'HttpListeners: A collection of references to application gateway http listeners.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + managedRules: + description: 'ManagedRules: Describes the managedRules structure.' + properties: + exclusions: + description: 'Exclusions: The Exclusions that are applied on the policy.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + exclusionManagedRuleSets: + description: 'ExclusionManagedRuleSets: The managed rule sets that are associated with the exclusion.' + items: + description: Defines a managed rule set for Exclusions. + properties: + ruleGroups: + description: 'RuleGroups: Defines the rule groups to apply to the rule set.' + items: + description: Defines a managed rule group to use for exclusion. + properties: + ruleGroupName: + description: 'RuleGroupName: The managed rule group for exclusion.' + type: string + rules: + description: 'Rules: List of rules that will be excluded. If none specified, all rules in the group will be excluded.' + items: + description: Defines a managed rule to use for exclusion. + properties: + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + type: object + type: array + type: object + type: array + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + type: object + type: array + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + type: string + type: object + type: array + managedRuleSets: + description: 'ManagedRuleSets: The managed rule sets that are associated with the policy.' + items: + description: Defines a managed rule set. + properties: + ruleGroupOverrides: + description: 'RuleGroupOverrides: Defines the rule group overrides to apply to the rule set.' + items: + description: Defines a managed rule group override setting. + properties: + ruleGroupName: + description: 'RuleGroupName: The managed rule group to override.' + type: string + rules: + description: 'Rules: List of rules that will be disabled. If none specified, all rules in the group will be disabled.' + items: + description: Defines a managed rule group override setting. + properties: + action: + description: 'Action: Describes the override action to be applied when rule matches.' + type: string + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + state: + description: 'State: The state of the managed rule. Defaults to Disabled if not specified.' + type: string + type: object + type: array + type: object + type: array + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + type: object + type: array + type: object + name: + description: 'Name: Resource name.' + type: string + pathBasedRules: + description: 'PathBasedRules: A collection of references to application gateway path rules.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + policySettings: + description: 'PolicySettings: The PolicySettings for policy.' + properties: + customBlockResponseBody: + description: |- + CustomBlockResponseBody: If the action type is block, customer can override the response body. The body must be + specified in base64 encoding. + type: string + customBlockResponseStatusCode: + description: 'CustomBlockResponseStatusCode: If the action type is block, customer can override the response status code.' + type: integer + fileUploadEnforcement: + description: 'FileUploadEnforcement: Whether allow WAF to enforce file upload limits.' + type: boolean + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + type: integer + jsChallengeCookieExpirationInMins: + description: 'JsChallengeCookieExpirationInMins: Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes.' + type: integer + logScrubbing: + description: 'LogScrubbing: To scrub sensitive log fields' + properties: + scrubbingRules: + description: 'ScrubbingRules: The rules that are applied to the logs for scrubbing.' + items: + description: Allow certain variables to be scrubbed on WAF logs + properties: + matchVariable: + description: 'MatchVariable: The variable to be scrubbed from the logs.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this rule + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this rule applies to. + type: string + state: + description: 'State: Defines the state of log scrubbing rule. Default value is Enabled.' + type: string + type: object + type: array + state: + description: 'State: State of the log scrubbing config. Default value is Enabled.' + type: string + type: object + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + type: integer + mode: + description: 'Mode: The mode of the policy.' + type: string + requestBodyCheck: + description: 'RequestBodyCheck: Whether to allow WAF to check request Body.' + type: boolean + requestBodyEnforcement: + description: 'RequestBodyEnforcement: Whether allow WAF to enforce request body limits.' + type: boolean + requestBodyInspectLimitInKB: + description: 'RequestBodyInspectLimitInKB: Max inspection limit in KB for request body inspection for WAF.' + type: integer + state: + description: 'State: The state of the policy.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the web application firewall policy resource.' + type: string + resourceState: + description: 'ResourceState: Resource status of the policy.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.WebApplicationFirewallPolicy + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/webapplicationfirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.WebApplicationFirewallPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customRules: + items: + description: |- + Storage version of v1api20240101.WebApplicationFirewallCustomRule + Defines contents of a web application rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + groupByUserSession: + items: + description: |- + Storage version of v1api20240101.GroupByUserSession + Define user session identifier group by clauses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupByVariables: + items: + description: |- + Storage version of v1api20240101.GroupByVariable + Define user session group by clause variables. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + variableName: + type: string + type: object + type: array + type: object + type: array + matchConditions: + items: + description: |- + Storage version of v1api20240101.MatchCondition + Define match conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + matchVariables: + items: + description: |- + Storage version of v1api20240101.MatchVariable + Define match variables. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + selector: + type: string + variableName: + type: string + type: object + type: array + negationConditon: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + type: object + type: array + name: + type: string + priority: + type: integer + rateLimitDuration: + type: string + rateLimitThreshold: + type: integer + ruleType: + type: string + state: + type: string + type: object + type: array + location: + type: string + managedRules: + description: |- + Storage version of v1api20240101.ManagedRulesDefinition + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20240101.OwaspCrsExclusionEntry + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusionManagedRuleSets: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRuleSet + Defines a managed rule set for Exclusions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroups: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRuleGroup + Defines a managed rule group to use for exclusion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRule + Defines a managed rule to use for exclusion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleId: + type: string + type: object + type: array + type: object + type: array + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + managedRuleSets: + items: + description: |- + Storage version of v1api20240101.ManagedRuleSet + Defines a managed rule set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupOverrides: + items: + description: |- + Storage version of v1api20240101.ManagedRuleGroupOverride + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20240101.ManagedRuleOverride + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ruleId: + type: string + state: + type: string + type: object + type: array + type: object + type: array + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20240101.WebApplicationFirewallPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policySettings: + description: |- + Storage version of v1api20240101.PolicySettings + Defines contents of a web application firewall global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBlockResponseBody: + type: string + customBlockResponseStatusCode: + type: integer + fileUploadEnforcement: + type: boolean + fileUploadLimitInMb: + type: integer + jsChallengeCookieExpirationInMins: + type: integer + logScrubbing: + description: Storage version of v1api20240101.PolicySettings_LogScrubbing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scrubbingRules: + items: + description: |- + Storage version of v1api20240101.WebApplicationFirewallScrubbingRules + Allow certain variables to be scrubbed on WAF logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + state: + type: string + type: object + type: array + state: + type: string + type: object + maxRequestBodySizeInKb: + type: integer + mode: + type: string + requestBodyCheck: + type: boolean + requestBodyEnforcement: + type: boolean + requestBodyInspectLimitInKB: + type: integer + state: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240101.WebApplicationFirewallPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGateways: + items: + description: |- + Storage version of v1api20240101.ApplicationGateway_STATUS_ApplicationGatewayWebApplicationFirewallPolicy_SubResourceEmbedded + Application gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRules: + items: + description: |- + Storage version of v1api20240101.WebApplicationFirewallCustomRule_STATUS + Defines contents of a web application rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + etag: + type: string + groupByUserSession: + items: + description: |- + Storage version of v1api20240101.GroupByUserSession_STATUS + Define user session identifier group by clauses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupByVariables: + items: + description: |- + Storage version of v1api20240101.GroupByVariable_STATUS + Define user session group by clause variables. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + variableName: + type: string + type: object + type: array + type: object + type: array + matchConditions: + items: + description: |- + Storage version of v1api20240101.MatchCondition_STATUS + Define match conditions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + matchVariables: + items: + description: |- + Storage version of v1api20240101.MatchVariable_STATUS + Define match variables. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + selector: + type: string + variableName: + type: string + type: object + type: array + negationConditon: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + type: object + type: array + name: + type: string + priority: + type: integer + rateLimitDuration: + type: string + rateLimitThreshold: + type: integer + ruleType: + type: string + state: + type: string + type: object + type: array + etag: + type: string + httpListeners: + items: + description: |- + Storage version of v1api20240101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + location: + type: string + managedRules: + description: |- + Storage version of v1api20240101.ManagedRulesDefinition_STATUS + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20240101.OwaspCrsExclusionEntry_STATUS + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusionManagedRuleSets: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRuleSet_STATUS + Defines a managed rule set for Exclusions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroups: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRuleGroup_STATUS + Defines a managed rule group to use for exclusion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20240101.ExclusionManagedRule_STATUS + Defines a managed rule to use for exclusion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleId: + type: string + type: object + type: array + type: object + type: array + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + managedRuleSets: + items: + description: |- + Storage version of v1api20240101.ManagedRuleSet_STATUS + Defines a managed rule set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupOverrides: + items: + description: |- + Storage version of v1api20240101.ManagedRuleGroupOverride_STATUS + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20240101.ManagedRuleOverride_STATUS + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ruleId: + type: string + state: + type: string + type: object + type: array + type: object + type: array + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + type: object + name: + type: string + pathBasedRules: + items: + description: |- + Storage version of v1api20240101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + policySettings: + description: |- + Storage version of v1api20240101.PolicySettings_STATUS + Defines contents of a web application firewall global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBlockResponseBody: + type: string + customBlockResponseStatusCode: + type: integer + fileUploadEnforcement: + type: boolean + fileUploadLimitInMb: + type: integer + jsChallengeCookieExpirationInMins: + type: integer + logScrubbing: + description: Storage version of v1api20240101.PolicySettings_LogScrubbing_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scrubbingRules: + items: + description: |- + Storage version of v1api20240101.WebApplicationFirewallScrubbingRules_STATUS + Allow certain variables to be scrubbed on WAF logs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + state: + type: string + type: object + type: array + state: + type: string + type: object + maxRequestBodySizeInKb: + type: integer + mode: + type: string + requestBodyCheck: + type: boolean + requestBodyEnforcement: + type: boolean + requestBodyInspectLimitInKB: + type: integer + state: + type: string + type: object + provisioningState: + type: string + resourceState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: webapplicationfirewallpolicies.network.frontdoor.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.frontdoor.azure.com + names: + categories: + - azure + - networkfrontdoor + kind: WebApplicationFirewallPolicy + listKind: WebApplicationFirewallPolicyList + plural: webapplicationfirewallpolicies + singular: webapplicationfirewallpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /frontdoor/resource-manager/Microsoft.Network/stable/2022-05-01/webapplicationfirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 128 + type: string + customRules: + description: 'CustomRules: Describes custom rules inside the policy.' + properties: + rules: + description: 'Rules: List of rules' + items: + description: Defines contents of a web application rule + properties: + action: + description: 'Action: Describes what action to be applied when rule matches.' + enum: + - Allow + - AnomalyScoring + - Block + - Log + - Redirect + type: string + enabledState: + description: 'EnabledState: Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.' + enum: + - Disabled + - Enabled + type: string + matchConditions: + description: 'MatchConditions: List of match conditions.' + items: + description: Define a match condition. + properties: + matchValue: + description: 'MatchValue: List of possible match values.' + items: + type: string + type: array + matchVariable: + description: 'MatchVariable: Request variable to compare with.' + enum: + - Cookies + - PostArgs + - QueryString + - RemoteAddr + - RequestBody + - RequestHeader + - RequestMethod + - RequestUri + - SocketAddr + type: string + negateCondition: + description: 'NegateCondition: Describes if the result of this condition should be negated.' + type: boolean + operator: + description: 'Operator: Comparison type to use for matching with the variable value.' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GeoMatch + - GreaterThan + - GreaterThanOrEqual + - IPMatch + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: |- + Selector: Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is + null. + type: string + transforms: + description: 'Transforms: List of transforms.' + items: + description: Describes what transforms applied before matching. + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + required: + - matchValue + - matchVariable + - operator + type: object + type: array + name: + description: 'Name: Describes the name of the rule.' + maxLength: 128 + type: string + priority: + description: 'Priority: Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.' + type: integer + rateLimitDurationInMinutes: + description: 'RateLimitDurationInMinutes: Time window for resetting the rate limit count. Default is 1 minute.' + maximum: 5 + minimum: 0 + type: integer + rateLimitThreshold: + description: 'RateLimitThreshold: Number of allowed requests per client within the time window.' + minimum: 0 + type: integer + ruleType: + description: 'RuleType: Describes type of rule.' + enum: + - MatchRule + - RateLimitRule + type: string + required: + - action + - matchConditions + - priority + - ruleType + type: object + type: array + type: object + etag: + description: 'Etag: Gets a unique read-only string that changes whenever the resource is updated.' + type: string + location: + description: 'Location: Resource location.' + type: string + managedRules: + description: 'ManagedRules: Describes managed rules inside the policy.' + properties: + managedRuleSets: + description: 'ManagedRuleSets: List of rule sets.' + items: + description: Defines a managed rule set. + properties: + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to all rules in the set.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + enum: + - QueryStringArgNames + - RequestBodyJsonArgNames + - RequestBodyPostArgNames + - RequestCookieNames + - RequestHeaderNames + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + enum: + - Contains + - EndsWith + - Equals + - EqualsAny + - StartsWith + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + ruleGroupOverrides: + description: 'RuleGroupOverrides: Defines the rule group overrides to apply to the rule set.' + items: + description: Defines a managed rule group override setting. + properties: + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to all rules in the group.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + enum: + - QueryStringArgNames + - RequestBodyJsonArgNames + - RequestBodyPostArgNames + - RequestCookieNames + - RequestHeaderNames + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + enum: + - Contains + - EndsWith + - Equals + - EqualsAny + - StartsWith + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + ruleGroupName: + description: 'RuleGroupName: Describes the managed rule group to override.' + type: string + rules: + description: 'Rules: List of rules that will be disabled. If none specified, all rules in the group will be disabled.' + items: + description: Defines a managed rule group override setting. + properties: + action: + description: 'Action: Describes the override action to be applied when rule matches.' + enum: + - Allow + - AnomalyScoring + - Block + - Log + - Redirect + type: string + enabledState: + description: 'EnabledState: Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.' + enum: + - Disabled + - Enabled + type: string + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to this specific rule.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + enum: + - QueryStringArgNames + - RequestBodyJsonArgNames + - RequestBodyPostArgNames + - RequestCookieNames + - RequestHeaderNames + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + enum: + - Contains + - EndsWith + - Equals + - EqualsAny + - StartsWith + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + required: + - ruleId + type: object + type: array + required: + - ruleGroupName + type: object + type: array + ruleSetAction: + description: 'RuleSetAction: Defines the rule set action.' + enum: + - Block + - Log + - Redirect + type: string + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + required: + - ruleSetType + - ruleSetVersion + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policySettings: + description: 'PolicySettings: Describes settings for the policy.' + properties: + customBlockResponseBody: + description: |- + CustomBlockResponseBody: If the action type is block, customer can override the response body. The body must be + specified in base64 encoding. + pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$ + type: string + customBlockResponseStatusCode: + description: 'CustomBlockResponseStatusCode: If the action type is block, customer can override the response status code.' + type: integer + enabledState: + description: 'EnabledState: Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.' + enum: + - Disabled + - Enabled + type: string + mode: + description: 'Mode: Describes if it is in detection mode or prevention mode at policy level.' + enum: + - Detection + - Prevention + type: string + redirectUrl: + description: 'RedirectUrl: If action type is redirect, this field represents redirect URL for the client.' + type: string + requestBodyCheck: + description: 'RequestBodyCheck: Describes if policy managed rules will inspect the request body content.' + enum: + - Disabled + - Enabled + type: string + type: object + sku: + description: 'Sku: The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified.' + properties: + name: + description: 'Name: Name of the pricing tier.' + enum: + - Classic_AzureFrontDoor + - Premium_AzureFrontDoor + - Standard_AzureFrontDoor + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRules: + description: 'CustomRules: Describes custom rules inside the policy.' + properties: + rules: + description: 'Rules: List of rules' + items: + description: Defines contents of a web application rule + properties: + action: + description: 'Action: Describes what action to be applied when rule matches.' + type: string + enabledState: + description: 'EnabledState: Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.' + type: string + matchConditions: + description: 'MatchConditions: List of match conditions.' + items: + description: Define a match condition. + properties: + matchValue: + description: 'MatchValue: List of possible match values.' + items: + type: string + type: array + matchVariable: + description: 'MatchVariable: Request variable to compare with.' + type: string + negateCondition: + description: 'NegateCondition: Describes if the result of this condition should be negated.' + type: boolean + operator: + description: 'Operator: Comparison type to use for matching with the variable value.' + type: string + selector: + description: |- + Selector: Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is + null. + type: string + transforms: + description: 'Transforms: List of transforms.' + items: + description: Describes what transforms applied before matching. + type: string + type: array + type: object + type: array + name: + description: 'Name: Describes the name of the rule.' + type: string + priority: + description: 'Priority: Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.' + type: integer + rateLimitDurationInMinutes: + description: 'RateLimitDurationInMinutes: Time window for resetting the rate limit count. Default is 1 minute.' + type: integer + rateLimitThreshold: + description: 'RateLimitThreshold: Number of allowed requests per client within the time window.' + type: integer + ruleType: + description: 'RuleType: Describes type of rule.' + type: string + type: object + type: array + type: object + etag: + description: 'Etag: Gets a unique read-only string that changes whenever the resource is updated.' + type: string + frontendEndpointLinks: + description: 'FrontendEndpointLinks: Describes Frontend Endpoints associated with this Web Application Firewall policy.' + items: + description: Defines the Resource ID for a Frontend Endpoint. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + managedRules: + description: 'ManagedRules: Describes managed rules inside the policy.' + properties: + managedRuleSets: + description: 'ManagedRuleSets: List of rule sets.' + items: + description: Defines a managed rule set. + properties: + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to all rules in the set.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + type: string + type: object + type: array + ruleGroupOverrides: + description: 'RuleGroupOverrides: Defines the rule group overrides to apply to the rule set.' + items: + description: Defines a managed rule group override setting. + properties: + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to all rules in the group.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + type: string + type: object + type: array + ruleGroupName: + description: 'RuleGroupName: Describes the managed rule group to override.' + type: string + rules: + description: 'Rules: List of rules that will be disabled. If none specified, all rules in the group will be disabled.' + items: + description: Defines a managed rule group override setting. + properties: + action: + description: 'Action: Describes the override action to be applied when rule matches.' + type: string + enabledState: + description: 'EnabledState: Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.' + type: string + exclusions: + description: 'Exclusions: Describes the exclusions that are applied to this specific rule.' + items: + description: Exclude variables from managed rule evaluation. + properties: + matchVariable: + description: 'MatchVariable: The variable type to be excluded.' + type: string + selector: + description: 'Selector: Selector value for which elements in the collection this exclusion applies to.' + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: Comparison operator to apply to the selector when specifying which elements in the collection + this exclusion applies to. + type: string + type: object + type: array + ruleId: + description: 'RuleId: Identifier for the managed rule.' + type: string + type: object + type: array + type: object + type: array + ruleSetAction: + description: 'RuleSetAction: Defines the rule set action.' + type: string + ruleSetType: + description: 'RuleSetType: Defines the rule set type to use.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: Defines the version of the rule set to use.' + type: string + type: object + type: array + type: object + name: + description: 'Name: Resource name.' + type: string + policySettings: + description: 'PolicySettings: Describes settings for the policy.' + properties: + customBlockResponseBody: + description: |- + CustomBlockResponseBody: If the action type is block, customer can override the response body. The body must be + specified in base64 encoding. + type: string + customBlockResponseStatusCode: + description: 'CustomBlockResponseStatusCode: If the action type is block, customer can override the response status code.' + type: integer + enabledState: + description: 'EnabledState: Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.' + type: string + mode: + description: 'Mode: Describes if it is in detection mode or prevention mode at policy level.' + type: string + redirectUrl: + description: 'RedirectUrl: If action type is redirect, this field represents redirect URL for the client.' + type: string + requestBodyCheck: + description: 'RequestBodyCheck: Describes if policy managed rules will inspect the request body content.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the policy.' + type: string + resourceState: + type: string + routingRuleLinks: + description: 'RoutingRuleLinks: Describes Routing Rules associated with this Web Application Firewall policy.' + items: + description: Defines the Resource ID for a Routing Rule. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + securityPolicyLinks: + description: 'SecurityPolicyLinks: Describes Security Policy associated with this Web Application Firewall policy.' + items: + description: Defines the Resource ID for a Security Policy. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sku: + description: 'Sku: The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified.' + properties: + name: + description: 'Name: Name of the pricing tier.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220501.WebApplicationFirewallPolicy + Generator information: + - Generated from: /frontdoor/resource-manager/Microsoft.Network/stable/2022-05-01/webapplicationfirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220501.WebApplicationFirewallPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customRules: + description: |- + Storage version of v1api20220501.CustomRuleList + Defines contents of custom rules + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20220501.CustomRule + Defines contents of a web application rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + enabledState: + type: string + matchConditions: + items: + description: |- + Storage version of v1api20220501.MatchCondition + Define a match condition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValue: + items: + type: string + type: array + matchVariable: + type: string + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + type: object + type: array + name: + type: string + priority: + type: integer + rateLimitDurationInMinutes: + type: integer + rateLimitThreshold: + type: integer + ruleType: + type: string + type: object + type: array + type: object + etag: + type: string + location: + type: string + managedRules: + description: |- + Storage version of v1api20220501.ManagedRuleSetList + Defines the list of managed rule sets for the policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedRuleSets: + items: + description: |- + Storage version of v1api20220501.ManagedRuleSet + Defines a managed rule set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleGroupOverrides: + items: + description: |- + Storage version of v1api20220501.ManagedRuleGroupOverride + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20220501.ManagedRuleOverride + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + enabledState: + type: string + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleId: + type: string + type: object + type: array + type: object + type: array + ruleSetAction: + type: string + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20220501.WebApplicationFirewallPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + policySettings: + description: |- + Storage version of v1api20220501.PolicySettings + Defines top-level WebApplicationFirewallPolicy configuration settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBlockResponseBody: + type: string + customBlockResponseStatusCode: + type: integer + enabledState: + type: string + mode: + type: string + redirectUrl: + type: string + requestBodyCheck: + type: string + type: object + sku: + description: |- + Storage version of v1api20220501.Sku + The pricing tier of the web application firewall policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220501.WebApplicationFirewallPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customRules: + description: |- + Storage version of v1api20220501.CustomRuleList_STATUS + Defines contents of custom rules + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20220501.CustomRule_STATUS + Defines contents of a web application rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + enabledState: + type: string + matchConditions: + items: + description: |- + Storage version of v1api20220501.MatchCondition_STATUS + Define a match condition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValue: + items: + type: string + type: array + matchVariable: + type: string + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + type: object + type: array + name: + type: string + priority: + type: integer + rateLimitDurationInMinutes: + type: integer + rateLimitThreshold: + type: integer + ruleType: + type: string + type: object + type: array + type: object + etag: + type: string + frontendEndpointLinks: + items: + description: |- + Storage version of v1api20220501.FrontendEndpointLink_STATUS + Defines the Resource ID for a Frontend Endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + location: + type: string + managedRules: + description: |- + Storage version of v1api20220501.ManagedRuleSetList_STATUS + Defines the list of managed rule sets for the policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedRuleSets: + items: + description: |- + Storage version of v1api20220501.ManagedRuleSet_STATUS + Defines a managed rule set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion_STATUS + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleGroupOverrides: + items: + description: |- + Storage version of v1api20220501.ManagedRuleGroupOverride_STATUS + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion_STATUS + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleGroupName: + type: string + rules: + items: + description: |- + Storage version of v1api20220501.ManagedRuleOverride_STATUS + Defines a managed rule group override setting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + enabledState: + type: string + exclusions: + items: + description: |- + Storage version of v1api20220501.ManagedRuleExclusion_STATUS + Exclude variables from managed rule evaluation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + ruleId: + type: string + type: object + type: array + type: object + type: array + ruleSetAction: + type: string + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + type: array + type: object + name: + type: string + policySettings: + description: |- + Storage version of v1api20220501.PolicySettings_STATUS + Defines top-level WebApplicationFirewallPolicy configuration settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customBlockResponseBody: + type: string + customBlockResponseStatusCode: + type: integer + enabledState: + type: string + mode: + type: string + redirectUrl: + type: string + requestBodyCheck: + type: string + type: object + provisioningState: + type: string + resourceState: + type: string + routingRuleLinks: + items: + description: |- + Storage version of v1api20220501.RoutingRuleLink_STATUS + Defines the Resource ID for a Routing Rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + securityPolicyLinks: + items: + description: |- + Storage version of v1api20220501.SecurityPolicyLink_STATUS + Defines the Resource ID for a Security Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220501.Sku_STATUS + The pricing tier of the web application firewall policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: webtests.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: Webtest + listKind: WebtestList + plural: webtests + singular: webtest + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep, basic, and standard.' + enum: + - basic + - multistep + - ping + - standard + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Name: + description: 'Name: User defined name if this WebTest.' + type: string + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpsStatusCode: + description: 'IgnoreHttpsStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - Kind + - Locations + - Name + - SyntheticMonitorId + - location + - owner + type: object + status: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep, basic, and standard.' + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpsStatusCode: + description: 'IgnoreHttpsStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Azure resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + properties_name: + description: 'PropertiesName: User defined name if this WebTest.' + type: string + provisioningState: + description: |- + ProvisioningState: Current state of this component, whether or not is has been provisioned within the resource group it + is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, + Canceled, and Failed. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501preview.Webtest + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501preview.Webtest_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20180501preview.WebTestProperties_Configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20180501preview.WebTestGeolocation + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Name: + type: string + Request: + description: Storage version of v1api20180501preview.WebTestProperties_Request + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20180501preview.HeaderField + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpsStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180501preview.WebtestOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501preview.Webtest_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20180501preview.WebTestProperties_Configuration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20180501preview.WebTestGeolocation_STATUS + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Request: + description: Storage version of v1api20180501preview.WebTestProperties_Request_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20180501preview.HeaderField_STATUS + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpsStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties_name: + type: string + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' + enum: + - multistep + - ping + - standard + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Name: + description: 'Name: User defined name if this WebTest.' + type: string + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpStatusCode: + description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - Kind + - Locations + - Name + - SyntheticMonitorId + - location + - owner + type: object + status: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpStatusCode: + description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Azure resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + properties_name: + description: 'PropertiesName: User defined name if this WebTest.' + type: string + provisioningState: + description: |- + ProvisioningState: Current state of this component, whether or not is has been provisioned within the resource group it + is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, + Canceled, and Failed. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220615.Webtest + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220615.Webtest_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20220615.WebTestProperties_Configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20220615.WebTestGeolocation + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Name: + type: string + Request: + description: Storage version of v1api20220615.WebTestProperties_Request + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20220615.HeaderField + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20220615.WebTestProperties_ValidationRules + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220615.WebtestOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220615.Webtest_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20220615.WebTestProperties_Configuration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20220615.WebTestGeolocation_STATUS + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Request: + description: Storage version of v1api20220615.WebTestProperties_Request_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20220615.HeaderField_STATUS + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties_name: + type: string + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workbooks.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: Workbook + listKind: WorkbookList + plural: workbooks + singular: workbook + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2023-06-01/workbooks_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + category: + description: 'Category: Workbook category, as defined by the user at creation time.' + type: string + description: + description: 'Description: The description of the workbook.' + type: string + displayName: + description: 'DisplayName: The user-defined name (display name) of the workbook.' + type: string + identity: + description: 'Identity: Identity used for BYOS' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: The kind of workbook. Only valid value is shared.' + enum: + - shared + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties_tags: + description: 'PropertiesTags: Being deprecated, please use the other tags field' + items: + type: string + type: array + serializedData: + description: 'SerializedData: Configuration of this particular workbook. Configuration data is a string containing valid JSON' + type: string + sourceReference: + description: 'SourceReference: ResourceId for a source resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageUriReference: + description: 'StorageUriReference: The resourceId to the storage account when bring your own storage is used' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: Workbook schema version format, like ''Notebook/1.0'', which should match the workbook in serializedData' + type: string + required: + - category + - displayName + - location + - owner + - serializedData + type: object + status: + description: A workbook definition. + properties: + category: + description: 'Category: Workbook category, as defined by the user at creation time.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: The description of the workbook.' + type: string + displayName: + description: 'DisplayName: The user-defined name (display name) of the workbook.' + type: string + etag: + description: 'Etag: Resource etag' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity used for BYOS' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: The kind of workbook. Only valid value is shared.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties_tags: + description: 'PropertiesTags: Being deprecated, please use the other tags field' + items: + type: string + type: array + revision: + description: 'Revision: The unique revision id for this workbook definition' + type: string + serializedData: + description: 'SerializedData: Configuration of this particular workbook. Configuration data is a string containing valid JSON' + type: string + sourceId: + description: 'SourceId: ResourceId for a source resource.' + type: string + storageUri: + description: 'StorageUri: The resourceId to the storage account when bring your own storage is used' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + timeModified: + description: 'TimeModified: Date and time in UTC of the last modification that was made to this workbook definition.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + userId: + description: 'UserId: Unique user id of the specific user that owns this workbook.' + type: string + version: + description: 'Version: Workbook schema version format, like ''Notebook/1.0'', which should match the workbook in serializedData' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601.Workbook + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2023-06-01/workbooks_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601.Workbook_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + category: + type: string + description: + type: string + displayName: + type: string + identity: + description: |- + Storage version of v1api20230601.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230601.WorkbookOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties_tags: + items: + type: string + type: array + serializedData: + type: string + sourceReference: + description: 'SourceReference: ResourceId for a source resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageUriReference: + description: 'StorageUriReference: The resourceId to the storage account when bring your own storage is used' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230601.Workbook_STATUS + A workbook definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230601.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230601.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + name: + type: string + properties_tags: + items: + type: string + type: array + revision: + type: string + serializedData: + type: string + sourceId: + type: string + storageUri: + type: string + systemData: + description: |- + Storage version of v1api20230601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + timeModified: + type: string + type: + type: string + userId: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspaces.machinelearningservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: machinelearningservices.azure.com + names: + categories: + - azure + - machinelearningservices + kind: Workspace + listKind: WorkspaceList + plural: workspaces + singular: workspace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowPublicAccessWhenBehindVnet: + description: 'AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.' + type: boolean + applicationInsightsReference: + description: |- + ApplicationInsightsReference: ARM id of the application insights associated with this workspace. This cannot be changed + once the workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: ARM id of the container registry associated with this workspace. This cannot be changed once + the workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: The description of this workspace.' + type: string + discoveryUrl: + description: 'DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services' + type: string + encryption: + description: 'Encryption: The encryption settings of Azure ML workspace.' + properties: + identity: + description: 'Identity: The identity that will be used to access the key vault for encryption at rest.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The ArmId of the user assigned identity that will be used to access the customer managed key vault' + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: The ArmId of the user assigned identity that will be used to access the customer managed + key vault + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: Customer Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: For future use - The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyVaultArmId: + description: 'KeyVaultArmId: The ArmId of the keyVault where the customer owned encryption key is present.' + type: string + keyVaultArmReference: + description: 'KeyVaultArmReference: The ArmId of the keyVault where the customer owned encryption key is present.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - keyIdentifier + - keyVaultArmId + - keyVaultArmReference + type: object + required: + - keyVaultProperties + type: object + friendlyName: + description: 'FriendlyName: The friendly name for this workspace. This name in mutable' + type: string + hbiWorkspace: + description: 'HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service' + type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The user assigned identities associated with the resource.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageBuildCompute: + description: 'ImageBuildCompute: The compute name for image build' + type: string + keyVaultReference: + description: |- + KeyVaultReference: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has + been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + location: + description: 'Location: Specifies the location of the resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + appInsightsInstrumentationKey: + description: |- + AppInsightsInstrumentationKey: indicates where the AppInsightsInstrumentationKey secret should be placed. If omitted, + the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword: + description: |- + ContainerRegistryPassword: indicates where the ContainerRegistryPassword secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword2: + description: |- + ContainerRegistryPassword2: indicates where the ContainerRegistryPassword2 secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryUserName: + description: |- + ContainerRegistryUserName: indicates where the ContainerRegistryUserName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryNotebookAccessKey: + description: |- + PrimaryNotebookAccessKey: indicates where the PrimaryNotebookAccessKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryNotebookAccessKey: + description: |- + SecondaryNotebookAccessKey: indicates where the SecondaryNotebookAccessKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userStorageKey: + description: |- + UserStorageKey: indicates where the UserStorageKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The user assigned identity resource id that represents the workspace identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed.' + enum: + - Disabled + - Enabled + type: string + serviceManagedResourcesSettings: + description: 'ServiceManagedResourcesSettings: The service managed resource settings.' + properties: + cosmosDb: + description: 'CosmosDb: The settings for the service managed cosmosdb account.' + properties: + collectionsThroughput: + description: 'CollectionsThroughput: The throughput of the collections in cosmosdb database' + type: integer + type: object + type: object + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources in this workspace.' + items: + properties: + groupId: + description: 'GroupId: The private link resource group id.' + type: string + name: + description: 'Name: Unique name of the private link.' + type: string + privateLinkResourceReference: + description: 'PrivateLinkResourceReference: The resource id that private link links to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: 'RequestMessage: Request message.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + enum: + - Approved + - Disconnected + - Pending + - Rejected + - Timeout + type: string + type: object + type: array + sku: + description: 'Sku: The sku of the workspace.' + properties: + name: + description: 'Name: Name of the sku' + type: string + tier: + description: 'Tier: Tier of the sku like Basic or Enterprise' + type: string + type: object + storageAccountReference: + description: |- + StorageAccountReference: ARM id of the storage account associated with this workspace. This cannot be changed once the + workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + systemData: + description: 'SystemData: System data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + required: + - owner + type: object + status: + description: An object that represents a machine learning workspace. + properties: + allowPublicAccessWhenBehindVnet: + description: 'AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.' + type: boolean + applicationInsights: + description: |- + ApplicationInsights: ARM id of the application insights associated with this workspace. This cannot be changed once the + workspace has been created + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerRegistry: + description: |- + ContainerRegistry: ARM id of the container registry associated with this workspace. This cannot be changed once the + workspace has been created + type: string + description: + description: 'Description: The description of this workspace.' + type: string + discoveryUrl: + description: 'DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services' + type: string + encryption: + description: 'Encryption: The encryption settings of Azure ML workspace.' + properties: + identity: + description: 'Identity: The identity that will be used to access the key vault for encryption at rest.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The ArmId of the user assigned identity that will be used to access the customer managed key vault' + type: string + type: object + keyVaultProperties: + description: 'KeyVaultProperties: Customer Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: For future use - The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyVaultArmId: + description: 'KeyVaultArmId: The ArmId of the keyVault where the customer owned encryption key is present.' + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for the workspace.' + type: string + type: object + friendlyName: + description: 'FriendlyName: The friendly name for this workspace. This name in mutable' + type: string + hbiWorkspace: + description: 'HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: User Assigned Identity + properties: + clientId: + description: 'ClientId: The clientId(aka appId) of the user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the user assigned identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the user assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: The user assigned identities associated with the resource.' + type: object + type: object + imageBuildCompute: + description: 'ImageBuildCompute: The compute name for image build' + type: string + keyVault: + description: |- + KeyVault: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been + created + type: string + location: + description: 'Location: Specifies the location of the resource.' + type: string + mlFlowTrackingUri: + description: 'MlFlowTrackingUri: The URI associated with this workspace that machine learning flow must point at to set up tracking.' + type: string + name: + description: 'Name: The name of the resource' + type: string + notebookInfo: + description: 'NotebookInfo: The notebook info of Azure ML workspace.' + properties: + fqdn: + type: string + notebookPreparationError: + description: 'NotebookPreparationError: The error that occurs when preparing notebook.' + properties: + errorMessage: + type: string + statusCode: + type: integer + type: object + resourceId: + description: 'ResourceId: the data plane resourceId that used to initialize notebook component' + type: string + type: object + primaryUserAssignedIdentity: + description: 'PrimaryUserAssignedIdentity: The user assigned identity resource id that represents the workspace identity.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections in the workspace.' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + privateLinkCount: + description: 'PrivateLinkCount: Count of private connections in the workspace' + type: integer + provisioningState: + description: |- + ProvisioningState: The current deployment state of workspace resource. The provisioningState is to indicate states for + resource provisioning. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed.' + type: string + serviceManagedResourcesSettings: + description: 'ServiceManagedResourcesSettings: The service managed resource settings.' + properties: + cosmosDb: + description: 'CosmosDb: The settings for the service managed cosmosdb account.' + properties: + collectionsThroughput: + description: 'CollectionsThroughput: The throughput of the collections in cosmosdb database' + type: integer + type: object + type: object + serviceProvisionedResourceGroup: + description: |- + ServiceProvisionedResourceGroup: The name of the managed resource group created by workspace RP in customer subscription + if the workspace is CMK workspace + type: string + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources in this workspace.' + items: + properties: + groupId: + description: 'GroupId: The private link resource group id.' + type: string + name: + description: 'Name: Unique name of the private link.' + type: string + privateLinkResourceId: + description: 'PrivateLinkResourceId: The resource id that private link links to.' + type: string + requestMessage: + description: 'RequestMessage: Request message.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + type: array + sku: + description: 'Sku: The sku of the workspace.' + properties: + name: + description: 'Name: Name of the sku' + type: string + tier: + description: 'Tier: Tier of the sku like Basic or Enterprise' + type: string + type: object + storageAccount: + description: |- + StorageAccount: ARM id of the storage account associated with this workspace. This cannot be changed once the workspace + has been created + type: string + storageHnsEnabled: + description: 'StorageHnsEnabled: If the storage associated with the workspace has hierarchical namespace(HNS) enabled.' + type: boolean + systemData: + description: 'SystemData: System data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + tenantId: + description: 'TenantId: The tenant id associated with this workspace.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workspaceId: + description: 'WorkspaceId: The immutable id associated with this workspace.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210701.Workspace + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210701.Workspace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPublicAccessWhenBehindVnet: + type: boolean + applicationInsightsReference: + description: |- + ApplicationInsightsReference: ARM id of the application insights associated with this workspace. This cannot be changed + once the workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: ARM id of the container registry associated with this workspace. This cannot be changed once + the workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string + discoveryUrl: + type: string + encryption: + description: Storage version of v1api20210701.EncryptionProperty + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20210701.IdentityForCmk + Identity that will be used to access key vault for encryption at rest + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: The ArmId of the user assigned identity that will be used to access the customer managed + key vault + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyVaultProperties: + description: Storage version of v1api20210701.KeyVaultProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + keyVaultArmId: + type: string + keyVaultArmReference: + description: 'KeyVaultArmReference: The ArmId of the keyVault where the customer owned encryption key is present.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - keyVaultArmReference + type: object + type: object + friendlyName: + type: string + hbiWorkspace: + type: boolean + identity: + description: |- + Storage version of v1api20210701.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageBuildCompute: + type: string + keyVaultReference: + description: |- + KeyVaultReference: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has + been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210701.WorkspaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210701.WorkspaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appInsightsInstrumentationKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryUserName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryNotebookAccessKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryNotebookAccessKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userStorageKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The user assigned identity resource id that represents the workspace identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + serviceManagedResourcesSettings: + description: Storage version of v1api20210701.ServiceManagedResourcesSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDb: + description: Storage version of v1api20210701.CosmosDbSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionsThroughput: + type: integer + type: object + type: object + sharedPrivateLinkResources: + items: + description: Storage version of v1api20210701.SharedPrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + privateLinkResourceReference: + description: 'PrivateLinkResourceReference: The resource id that private link links to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + status: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20210701.Sku + Sku of the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageAccountReference: + description: |- + StorageAccountReference: ARM id of the storage account associated with this workspace. This cannot be changed once the + workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + systemData: + description: |- + Storage version of v1api20210701.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210701.Workspace_STATUS + An object that represents a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPublicAccessWhenBehindVnet: + type: boolean + applicationInsights: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerRegistry: + type: string + description: + type: string + discoveryUrl: + type: string + encryption: + description: Storage version of v1api20210701.EncryptionProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20210701.IdentityForCmk_STATUS + Identity that will be used to access key vault for encryption at rest + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyVaultProperties: + description: Storage version of v1api20210701.KeyVaultProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + keyVaultArmId: + type: string + type: object + status: + type: string + type: object + friendlyName: + type: string + hbiWorkspace: + type: boolean + id: + type: string + identity: + description: |- + Storage version of v1api20210701.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210701.UserAssignedIdentity_STATUS + User Assigned Identity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + tenantId: + type: string + type: object + type: object + type: object + imageBuildCompute: + type: string + keyVault: + type: string + location: + type: string + mlFlowTrackingUri: + type: string + name: + type: string + notebookInfo: + description: Storage version of v1api20210701.NotebookResourceInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + notebookPreparationError: + description: Storage version of v1api20210701.NotebookPreparationError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorMessage: + type: string + statusCode: + type: integer + type: object + resourceId: + type: string + type: object + primaryUserAssignedIdentity: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210701.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkCount: + type: integer + provisioningState: + type: string + publicNetworkAccess: + type: string + serviceManagedResourcesSettings: + description: Storage version of v1api20210701.ServiceManagedResourcesSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDb: + description: Storage version of v1api20210701.CosmosDbSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionsThroughput: + type: integer + type: object + type: object + serviceProvisionedResourceGroup: + type: string + sharedPrivateLinkResources: + items: + description: Storage version of v1api20210701.SharedPrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + privateLinkResourceId: + type: string + requestMessage: + type: string + status: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20210701.Sku_STATUS + Sku of the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageAccount: + type: string + storageHnsEnabled: + type: boolean + systemData: + description: |- + Storage version of v1api20210701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantId: + type: string + type: + type: string + workspaceId: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/workspaceRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + allowPublicAccessWhenBehindVnet: + description: 'AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.' + type: boolean + applicationInsightsReference: + description: 'ApplicationInsightsReference: ARM id of the application insights associated with this workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + associatedWorkspaces: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$ + type: string + containerRegistryReference: + description: 'ContainerRegistryReference: ARM id of the container registry associated with this workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: The description of this workspace.' + type: string + discoveryUrl: + description: 'DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services' + type: string + enableDataIsolation: + type: boolean + encryption: + description: 'Encryption: The encryption settings of Azure ML workspace.' + properties: + identity: + description: 'Identity: The identity that will be used to access the key vault for encryption at rest.' + properties: + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: The ArmId of the user assigned identity that will be used to access the customer managed + key vault + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: Customer Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: For future use - The client id of the identity which will be used to access key vault.' + type: string + identityClientIdFromConfig: + description: 'IdentityClientIdFromConfig: For future use - The client id of the identity which will be used to access key vault.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyVaultArmReference: + description: 'KeyVaultArmReference: The ArmId of the keyVault where the customer owned encryption key is present.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - keyIdentifier + - keyVaultArmReference + type: object + required: + - keyVaultProperties + type: object + featureStoreSettings: + description: 'FeatureStoreSettings: Settings for feature store type workspace.' + properties: + computeRuntime: + description: 'ComputeRuntime: Compute runtime config for feature store type workspace.' + properties: + sparkRuntimeVersion: + type: string + type: object + offlineStoreConnectionName: + type: string + onlineStoreConnectionName: + type: string + type: object + friendlyName: + description: 'FriendlyName: The friendly name for this workspace. This name in mutable' + type: string + hbiWorkspace: + description: 'HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service' + type: boolean + hubResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + imageBuildCompute: + description: 'ImageBuildCompute: The compute name for image build' + type: string + keyVaultReference: + description: |- + KeyVaultReference: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has + been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + description: 'Location: Specifies the location of the resource.' + type: string + managedNetwork: + description: 'ManagedNetwork: Managed Network settings for a machine learning workspace.' + properties: + isolationMode: + description: 'IsolationMode: Isolation mode for the managed network of a machine learning workspace.' + enum: + - AllowInternetOutbound + - AllowOnlyApprovedOutbound + - Disabled + type: string + outboundRules: + additionalProperties: + properties: + fqdn: + description: 'FQDN: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Dependency + - Recommended + - Required + - UserDefined + type: string + destination: + type: string + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Active + - Inactive + type: string + type: + enum: + - FQDN + type: string + required: + - type + type: object + privateEndpoint: + description: 'PrivateEndpoint: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Dependency + - Recommended + - Required + - UserDefined + type: string + destination: + description: |- + Destination: Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine + learning workspace. + properties: + serviceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sparkEnabled: + type: boolean + sparkStatus: + description: 'SparkStatus: Type of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Active + - Inactive + type: string + subresourceTargetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Active + - Inactive + type: string + type: + enum: + - PrivateEndpoint + type: string + required: + - type + type: object + serviceTag: + description: 'ServiceTag: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Dependency + - Recommended + - Required + - UserDefined + type: string + destination: + description: |- + Destination: Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning + workspace. + properties: + action: + description: 'Action: The action enum for networking rule.' + enum: + - Allow + - Deny + type: string + portRanges: + type: string + protocol: + type: string + serviceTag: + type: string + type: object + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + enum: + - Active + - Inactive + type: string + type: + enum: + - ServiceTag + type: string + required: + - type + type: object + type: object + type: object + status: + description: 'Status: Status of the Provisioning for the managed network of a machine learning workspace.' + properties: + sparkReady: + type: boolean + status: + description: 'Status: Status for the managed network of a machine learning workspace.' + enum: + - Active + - Inactive + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + appInsightsInstrumentationKey: + description: |- + AppInsightsInstrumentationKey: indicates where the AppInsightsInstrumentationKey secret should be placed. If omitted, + the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword: + description: |- + ContainerRegistryPassword: indicates where the ContainerRegistryPassword secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword2: + description: |- + ContainerRegistryPassword2: indicates where the ContainerRegistryPassword2 secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryUserName: + description: |- + ContainerRegistryUserName: indicates where the ContainerRegistryUserName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryNotebookAccessKey: + description: |- + PrimaryNotebookAccessKey: indicates where the PrimaryNotebookAccessKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryNotebookAccessKey: + description: |- + SecondaryNotebookAccessKey: indicates where the SecondaryNotebookAccessKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userStorageKey: + description: |- + UserStorageKey: indicates where the UserStorageKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The user assigned identity resource id that represents the workspace identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed.' + enum: + - Disabled + - Enabled + type: string + serverlessComputeSettings: + description: 'ServerlessComputeSettings: Settings for serverless compute created in the workspace' + properties: + serverlessComputeCustomSubnetReference: + description: |- + ServerlessComputeCustomSubnetReference: The resource ID of an existing virtual network subnet in which serverless + compute nodes should be deployed + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + serverlessComputeNoPublicIP: + description: |- + ServerlessComputeNoPublicIP: The flag to signal if serverless compute nodes deployed in custom vNet would have no public + IP addresses for a workspace with private endpoint + type: boolean + type: object + serviceManagedResourcesSettings: + description: 'ServiceManagedResourcesSettings: The service managed resource settings.' + properties: + cosmosDb: + description: 'CosmosDb: The settings for the service managed cosmosdb account.' + properties: + collectionsThroughput: + description: 'CollectionsThroughput: The throughput of the collections in cosmosdb database' + type: integer + type: object + type: object + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources in this workspace.' + items: + properties: + groupId: + description: 'GroupId: The private link resource group id.' + type: string + name: + description: 'Name: Unique name of the private link.' + type: string + privateLinkResourceReference: + description: 'PrivateLinkResourceReference: The resource id that private link links to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: 'RequestMessage: Request message.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + enum: + - Approved + - Disconnected + - Pending + - Rejected + - Timeout + type: string + type: object + type: array + sku: + description: 'Sku: The sku of the workspace.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + storageAccountReference: + description: |- + StorageAccountReference: ARM id of the storage account associated with this workspace. This cannot be changed once the + workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + v1LegacyMode: + description: 'V1LegacyMode: Enabling v1_legacy_mode may prevent you from using features provided by the v2 API.' + type: boolean + workspaceHubConfig: + description: 'WorkspaceHubConfig: WorkspaceHub''s configuration object.' + properties: + additionalWorkspaceStorageAccounts: + items: + type: string + type: array + defaultWorkspaceResourceGroup: + type: string + type: object + required: + - owner + type: object + status: + description: An object that represents a machine learning workspace. + properties: + allowPublicAccessWhenBehindVnet: + description: 'AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.' + type: boolean + applicationInsights: + description: 'ApplicationInsights: ARM id of the application insights associated with this workspace.' + type: string + associatedWorkspaces: + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerRegistry: + description: 'ContainerRegistry: ARM id of the container registry associated with this workspace.' + type: string + description: + description: 'Description: The description of this workspace.' + type: string + discoveryUrl: + description: 'DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services' + type: string + enableDataIsolation: + type: boolean + encryption: + description: 'Encryption: The encryption settings of Azure ML workspace.' + properties: + identity: + description: 'Identity: The identity that will be used to access the key vault for encryption at rest.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The ArmId of the user assigned identity that will be used to access the customer managed key vault' + type: string + type: object + keyVaultProperties: + description: 'KeyVaultProperties: Customer Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: For future use - The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyVaultArmId: + description: 'KeyVaultArmId: The ArmId of the keyVault where the customer owned encryption key is present.' + type: string + type: object + status: + description: 'Status: Indicates whether or not the encryption is enabled for the workspace.' + type: string + type: object + featureStoreSettings: + description: 'FeatureStoreSettings: Settings for feature store type workspace.' + properties: + computeRuntime: + description: 'ComputeRuntime: Compute runtime config for feature store type workspace.' + properties: + sparkRuntimeVersion: + type: string + type: object + offlineStoreConnectionName: + type: string + onlineStoreConnectionName: + type: string + type: object + friendlyName: + description: 'FriendlyName: The friendly name for this workspace. This name in mutable' + type: string + hbiWorkspace: + description: 'HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service' + type: boolean + hubResourceId: + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + imageBuildCompute: + description: 'ImageBuildCompute: The compute name for image build' + type: string + keyVault: + description: |- + KeyVault: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been + created + type: string + kind: + type: string + location: + description: 'Location: Specifies the location of the resource.' + type: string + managedNetwork: + description: 'ManagedNetwork: Managed Network settings for a machine learning workspace.' + properties: + isolationMode: + description: 'IsolationMode: Isolation mode for the managed network of a machine learning workspace.' + type: string + networkId: + type: string + outboundRules: + additionalProperties: + properties: + fqdn: + description: 'FQDN: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + type: string + destination: + type: string + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + type: string + type: + type: string + type: object + privateEndpoint: + description: 'PrivateEndpoint: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + type: string + destination: + description: |- + Destination: Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine + learning workspace. + properties: + serviceResourceId: + type: string + sparkEnabled: + type: boolean + sparkStatus: + description: 'SparkStatus: Type of a managed network Outbound Rule of a machine learning workspace.' + type: string + subresourceTarget: + type: string + type: object + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + type: string + type: + type: string + type: object + serviceTag: + description: 'ServiceTag: Mutually exclusive with all other properties' + properties: + category: + description: 'Category: Category of a managed network Outbound Rule of a machine learning workspace.' + type: string + destination: + description: |- + Destination: Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning + workspace. + properties: + action: + description: 'Action: The action enum for networking rule.' + type: string + addressPrefixes: + description: 'AddressPrefixes: Optional, if provided, the ServiceTag property will be ignored.' + items: + type: string + type: array + portRanges: + type: string + protocol: + type: string + serviceTag: + type: string + type: object + status: + description: 'Status: Type of a managed network Outbound Rule of a machine learning workspace.' + type: string + type: + type: string + type: object + type: object + type: object + status: + description: 'Status: Status of the Provisioning for the managed network of a machine learning workspace.' + properties: + sparkReady: + type: boolean + status: + description: 'Status: Status for the managed network of a machine learning workspace.' + type: string + type: object + type: object + mlFlowTrackingUri: + description: 'MlFlowTrackingUri: The URI associated with this workspace that machine learning flow must point at to set up tracking.' + type: string + name: + description: 'Name: The name of the resource' + type: string + notebookInfo: + description: 'NotebookInfo: The notebook info of Azure ML workspace.' + properties: + fqdn: + type: string + notebookPreparationError: + description: 'NotebookPreparationError: The error that occurs when preparing notebook.' + properties: + errorMessage: + type: string + statusCode: + type: integer + type: object + resourceId: + description: 'ResourceId: the data plane resourceId that used to initialize notebook component' + type: string + type: object + primaryUserAssignedIdentity: + description: 'PrimaryUserAssignedIdentity: The user assigned identity resource id that represents the workspace identity.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections in the workspace.' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + privateLinkCount: + description: 'PrivateLinkCount: Count of private connections in the workspace' + type: integer + provisioningState: + description: |- + ProvisioningState: The current deployment state of workspace resource. The provisioningState is to indicate states for + resource provisioning. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed.' + type: string + serverlessComputeSettings: + description: 'ServerlessComputeSettings: Settings for serverless compute created in the workspace' + properties: + serverlessComputeCustomSubnet: + description: |- + ServerlessComputeCustomSubnet: The resource ID of an existing virtual network subnet in which serverless compute nodes + should be deployed + type: string + serverlessComputeNoPublicIP: + description: |- + ServerlessComputeNoPublicIP: The flag to signal if serverless compute nodes deployed in custom vNet would have no public + IP addresses for a workspace with private endpoint + type: boolean + type: object + serviceManagedResourcesSettings: + description: 'ServiceManagedResourcesSettings: The service managed resource settings.' + properties: + cosmosDb: + description: 'CosmosDb: The settings for the service managed cosmosdb account.' + properties: + collectionsThroughput: + description: 'CollectionsThroughput: The throughput of the collections in cosmosdb database' + type: integer + type: object + type: object + serviceProvisionedResourceGroup: + description: |- + ServiceProvisionedResourceGroup: The name of the managed resource group created by workspace RP in customer subscription + if the workspace is CMK workspace + type: string + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources in this workspace.' + items: + properties: + groupId: + description: 'GroupId: The private link resource group id.' + type: string + name: + description: 'Name: Unique name of the private link.' + type: string + privateLinkResourceId: + description: 'PrivateLinkResourceId: The resource id that private link links to.' + type: string + requestMessage: + description: 'RequestMessage: Request message.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + type: array + sku: + description: 'Sku: The sku of the workspace.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + storageAccount: + description: |- + StorageAccount: ARM id of the storage account associated with this workspace. This cannot be changed once the workspace + has been created + type: string + storageHnsEnabled: + description: 'StorageHnsEnabled: If the storage associated with the workspace has hierarchical namespace(HNS) enabled.' + type: boolean + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + tenantId: + description: 'TenantId: The tenant id associated with this workspace.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + v1LegacyMode: + description: 'V1LegacyMode: Enabling v1_legacy_mode may prevent you from using features provided by the v2 API.' + type: boolean + workspaceHubConfig: + description: 'WorkspaceHubConfig: WorkspaceHub''s configuration object.' + properties: + additionalWorkspaceStorageAccounts: + items: + type: string + type: array + defaultWorkspaceResourceGroup: + type: string + type: object + workspaceId: + description: 'WorkspaceId: The immutable id associated with this workspace.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240401.Workspace + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/workspaceRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240401.Workspace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPublicAccessWhenBehindVnet: + type: boolean + applicationInsightsReference: + description: 'ApplicationInsightsReference: ARM id of the application insights associated with this workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + associatedWorkspaces: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containerRegistryReference: + description: 'ContainerRegistryReference: ARM id of the container registry associated with this workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string + discoveryUrl: + type: string + enableDataIsolation: + type: boolean + encryption: + description: Storage version of v1api20240401.EncryptionProperty + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20240401.IdentityForCmk + Identity that will be used to access key vault for encryption at rest + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: The ArmId of the user assigned identity that will be used to access the customer managed + key vault + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyVaultProperties: + description: Storage version of v1api20240401.EncryptionKeyVaultProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyIdentifier: + type: string + keyVaultArmReference: + description: 'KeyVaultArmReference: The ArmId of the keyVault where the customer owned encryption key is present.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - keyVaultArmReference + type: object + type: object + featureStoreSettings: + description: |- + Storage version of v1api20240401.FeatureStoreSettings + Settings for feature store type workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeRuntime: + description: |- + Storage version of v1api20240401.ComputeRuntimeDto + Compute runtime config for feature store type workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sparkRuntimeVersion: + type: string + type: object + offlineStoreConnectionName: + type: string + onlineStoreConnectionName: + type: string + type: object + friendlyName: + type: string + hbiWorkspace: + type: boolean + hubResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageBuildCompute: + type: string + keyVaultReference: + description: |- + KeyVaultReference: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has + been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + type: string + managedNetwork: + description: |- + Storage version of v1api20240401.ManagedNetworkSettings + Managed Network settings for a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isolationMode: + type: string + outboundRules: + additionalProperties: + description: Storage version of v1api20240401.OutboundRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + description: Storage version of v1api20240401.FqdnOutboundRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + type: string + status: + type: string + type: + type: string + type: object + privateEndpoint: + description: Storage version of v1api20240401.PrivateEndpointOutboundRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + description: |- + Storage version of v1api20240401.PrivateEndpointDestination + Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine learning + workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sparkEnabled: + type: boolean + sparkStatus: + type: string + subresourceTargetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + status: + type: string + type: + type: string + type: object + serviceTag: + description: Storage version of v1api20240401.ServiceTagOutboundRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + description: |- + Storage version of v1api20240401.ServiceTagDestination + Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + portRanges: + type: string + protocol: + type: string + serviceTag: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + type: object + status: + description: |- + Storage version of v1api20240401.ManagedNetworkProvisionStatus + Status of the Provisioning for the managed network of a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sparkReady: + type: boolean + status: + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240401.WorkspaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20240401.WorkspaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appInsightsInstrumentationKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryPassword2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + containerRegistryUserName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryNotebookAccessKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryNotebookAccessKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userStorageKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The user assigned identity resource id that represents the workspace identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + serverlessComputeSettings: + description: Storage version of v1api20240401.ServerlessComputeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverlessComputeCustomSubnetReference: + description: |- + ServerlessComputeCustomSubnetReference: The resource ID of an existing virtual network subnet in which serverless + compute nodes should be deployed + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + serverlessComputeNoPublicIP: + type: boolean + type: object + serviceManagedResourcesSettings: + description: Storage version of v1api20240401.ServiceManagedResourcesSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDb: + description: Storage version of v1api20240401.CosmosDbSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionsThroughput: + type: integer + type: object + type: object + sharedPrivateLinkResources: + items: + description: Storage version of v1api20240401.SharedPrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + privateLinkResourceReference: + description: 'PrivateLinkResourceReference: The resource id that private link links to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + type: string + status: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240401.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + storageAccountReference: + description: |- + StorageAccountReference: ARM id of the storage account associated with this workspace. This cannot be changed once the + workspace has been created + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + v1LegacyMode: + type: boolean + workspaceHubConfig: + description: |- + Storage version of v1api20240401.WorkspaceHubConfig + WorkspaceHub's configuration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalWorkspaceStorageAccounts: + items: + type: string + type: array + defaultWorkspaceResourceGroup: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240401.Workspace_STATUS + An object that represents a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowPublicAccessWhenBehindVnet: + type: boolean + applicationInsights: + type: string + associatedWorkspaces: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containerRegistry: + type: string + description: + type: string + discoveryUrl: + type: string + enableDataIsolation: + type: boolean + encryption: + description: Storage version of v1api20240401.EncryptionProperty_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20240401.IdentityForCmk_STATUS + Identity that will be used to access key vault for encryption at rest + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyVaultProperties: + description: Storage version of v1api20240401.EncryptionKeyVaultProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + keyVaultArmId: + type: string + type: object + status: + type: string + type: object + featureStoreSettings: + description: |- + Storage version of v1api20240401.FeatureStoreSettings_STATUS + Settings for feature store type workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeRuntime: + description: |- + Storage version of v1api20240401.ComputeRuntimeDto_STATUS + Compute runtime config for feature store type workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sparkRuntimeVersion: + type: string + type: object + offlineStoreConnectionName: + type: string + onlineStoreConnectionName: + type: string + type: object + friendlyName: + type: string + hbiWorkspace: + type: boolean + hubResourceId: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + imageBuildCompute: + type: string + keyVault: + type: string + kind: + type: string + location: + type: string + managedNetwork: + description: |- + Storage version of v1api20240401.ManagedNetworkSettings_STATUS + Managed Network settings for a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isolationMode: + type: string + networkId: + type: string + outboundRules: + additionalProperties: + description: Storage version of v1api20240401.OutboundRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + description: Storage version of v1api20240401.FqdnOutboundRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + type: string + status: + type: string + type: + type: string + type: object + privateEndpoint: + description: Storage version of v1api20240401.PrivateEndpointOutboundRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + description: |- + Storage version of v1api20240401.PrivateEndpointDestination_STATUS + Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine learning + workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceResourceId: + type: string + sparkEnabled: + type: boolean + sparkStatus: + type: string + subresourceTarget: + type: string + type: object + status: + type: string + type: + type: string + type: object + serviceTag: + description: Storage version of v1api20240401.ServiceTagOutboundRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + destination: + description: |- + Storage version of v1api20240401.ServiceTagDestination_STATUS + Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + addressPrefixes: + items: + type: string + type: array + portRanges: + type: string + protocol: + type: string + serviceTag: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + type: object + status: + description: |- + Storage version of v1api20240401.ManagedNetworkProvisionStatus_STATUS + Status of the Provisioning for the managed network of a machine learning workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sparkReady: + type: boolean + status: + type: string + type: object + type: object + mlFlowTrackingUri: + type: string + name: + type: string + notebookInfo: + description: Storage version of v1api20240401.NotebookResourceInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + notebookPreparationError: + description: Storage version of v1api20240401.NotebookPreparationError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorMessage: + type: string + statusCode: + type: integer + type: object + resourceId: + type: string + type: object + primaryUserAssignedIdentity: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkCount: + type: integer + provisioningState: + type: string + publicNetworkAccess: + type: string + serverlessComputeSettings: + description: Storage version of v1api20240401.ServerlessComputeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverlessComputeCustomSubnet: + type: string + serverlessComputeNoPublicIP: + type: boolean + type: object + serviceManagedResourcesSettings: + description: Storage version of v1api20240401.ServiceManagedResourcesSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDb: + description: Storage version of v1api20240401.CosmosDbSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionsThroughput: + type: integer + type: object + type: object + serviceProvisionedResourceGroup: + type: string + sharedPrivateLinkResources: + items: + description: Storage version of v1api20240401.SharedPrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + privateLinkResourceId: + type: string + requestMessage: + type: string + status: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240401.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + storageAccount: + type: string + storageHnsEnabled: + type: boolean + systemData: + description: |- + Storage version of v1api20240401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantId: + type: string + type: + type: string + v1LegacyMode: + type: boolean + workspaceHubConfig: + description: |- + Storage version of v1api20240401.WorkspaceHubConfig_STATUS + WorkspaceHub's configuration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalWorkspaceStorageAccounts: + items: + type: string + type: array + defaultWorkspaceResourceGroup: + type: string + type: object + workspaceId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspaces.operationalinsights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: operationalinsights.azure.com + names: + categories: + - azure + - operationalinsights + kind: Workspace + listKind: WorkspaceList + plural: workspaces + singular: workspace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Workspaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 4 + pattern: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ + type: string + etag: + description: 'Etag: The etag of the workspace.' + type: string + features: + description: 'Features: Workspace features.' + properties: + clusterResourceReference: + description: 'ClusterResourceReference: Dedicated LA cluster resourceId that is linked to the workspaces.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + enableDataExport: + description: 'EnableDataExport: Flag that indicate if data should be exported.' + type: boolean + enableLogAccessUsingOnlyResourcePermissions: + description: 'EnableLogAccessUsingOnlyResourcePermissions: Flag that indicate which permission to use - resource or workspace or both.' + type: boolean + immediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Flag that describes if we want to remove the data after 30 days.' + type: boolean + type: object + forceCmkForQuery: + description: 'ForceCmkForQuery: Indicates whether customer managed storage is mandatory for query management.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the workspace.' + enum: + - Canceled + - Creating + - Deleting + - Failed + - ProvisioningAccount + - Succeeded + - Updating + type: string + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Log Analytics ingestion.' + enum: + - Disabled + - Enabled + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Log Analytics query.' + enum: + - Disabled + - Enabled + type: string + retentionInDays: + description: |- + RetentionInDays: The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers + documentation for details. + type: integer + sku: + description: 'Sku: The SKU of the workspace.' + properties: + capacityReservationLevel: + description: |- + CapacityReservationLevel: The capacity reservation level in GB for this workspace, when CapacityReservation sku is + selected. + enum: + - 100 + - 200 + - 300 + - 400 + - 500 + - 1000 + - 2000 + - 5000 + type: integer + name: + description: 'Name: The name of the SKU.' + enum: + - CapacityReservation + - Free + - LACluster + - PerGB2018 + - PerNode + - Premium + - Standalone + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + workspaceCapping: + description: 'WorkspaceCapping: The daily volume cap for ingestion.' + properties: + dailyQuotaGb: + description: 'DailyQuotaGb: The workspace daily quota for ingestion.' + type: number + type: object + required: + - location + - owner + type: object + status: + description: The top level Workspace resource container. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + description: 'CreatedDate: Workspace creation date.' + type: string + customerId: + description: 'CustomerId: This is a read-only property. Represents the ID associated with the workspace.' + type: string + etag: + description: 'Etag: The etag of the workspace.' + type: string + features: + description: 'Features: Workspace features.' + properties: + clusterResourceId: + description: 'ClusterResourceId: Dedicated LA cluster resourceId that is linked to the workspaces.' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + enableDataExport: + description: 'EnableDataExport: Flag that indicate if data should be exported.' + type: boolean + enableLogAccessUsingOnlyResourcePermissions: + description: 'EnableLogAccessUsingOnlyResourcePermissions: Flag that indicate which permission to use - resource or workspace or both.' + type: boolean + immediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Flag that describes if we want to remove the data after 30 days.' + type: boolean + type: object + forceCmkForQuery: + description: 'ForceCmkForQuery: Indicates whether customer managed storage is mandatory for query management.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + modifiedDate: + description: 'ModifiedDate: Workspace modification date.' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateLinkScopedResources: + description: 'PrivateLinkScopedResources: List of linked private link scope resources.' + items: + description: The private link scope resource reference. + properties: + resourceId: + description: 'ResourceId: The full resource Id of the private link scope resource.' + type: string + scopeId: + description: 'ScopeId: The private link scope unique Identifier.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the workspace.' + type: string + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Log Analytics ingestion.' + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Log Analytics query.' + type: string + retentionInDays: + description: |- + RetentionInDays: The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers + documentation for details. + type: integer + sku: + description: 'Sku: The SKU of the workspace.' + properties: + capacityReservationLevel: + description: |- + CapacityReservationLevel: The capacity reservation level in GB for this workspace, when CapacityReservation sku is + selected. + type: integer + lastSkuUpdate: + description: 'LastSkuUpdate: The last time when the sku was updated.' + type: string + name: + description: 'Name: The name of the SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workspaceCapping: + description: 'WorkspaceCapping: The daily volume cap for ingestion.' + properties: + dailyQuotaGb: + description: 'DailyQuotaGb: The workspace daily quota for ingestion.' + type: number + dataIngestionStatus: + description: 'DataIngestionStatus: The status of data ingestion for this workspace.' + type: string + quotaNextResetTime: + description: 'QuotaNextResetTime: The time when the quota will be rest.' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.Workspace + Generator information: + - Generated from: /operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Workspaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.Workspace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + features: + description: |- + Storage version of v1api20210601.WorkspaceFeatures + Workspace features. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceReference: + description: 'ClusterResourceReference: Dedicated LA cluster resourceId that is linked to the workspaces.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: + type: boolean + enableDataExport: + type: boolean + enableLogAccessUsingOnlyResourcePermissions: + type: boolean + immediatePurgeDataOn30Days: + type: boolean + type: object + forceCmkForQuery: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.WorkspaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + provisioningState: + type: string + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + retentionInDays: + type: integer + sku: + description: |- + Storage version of v1api20210601.WorkspaceSku + The SKU (tier) of a workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationLevel: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + workspaceCapping: + description: |- + Storage version of v1api20210601.WorkspaceCapping + The daily volume cap for ingestion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dailyQuotaGb: + type: number + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210601.Workspace_STATUS + The top level Workspace resource container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdDate: + type: string + customerId: + type: string + etag: + type: string + features: + description: |- + Storage version of v1api20210601.WorkspaceFeatures_STATUS + Workspace features. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + disableLocalAuth: + type: boolean + enableDataExport: + type: boolean + enableLogAccessUsingOnlyResourcePermissions: + type: boolean + immediatePurgeDataOn30Days: + type: boolean + type: object + forceCmkForQuery: + type: boolean + id: + type: string + location: + type: string + modifiedDate: + type: string + name: + type: string + privateLinkScopedResources: + items: + description: |- + Storage version of v1api20210601.PrivateLinkScopedResource_STATUS + The private link scope resource reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + scopeId: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + retentionInDays: + type: integer + sku: + description: |- + Storage version of v1api20210601.WorkspaceSku_STATUS + The SKU (tier) of a workspace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacityReservationLevel: + type: integer + lastSkuUpdate: + type: string + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + workspaceCapping: + description: |- + Storage version of v1api20210601.WorkspaceCapping_STATUS + The daily volume cap for ingestion. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dailyQuotaGb: + type: number + dataIngestionStatus: + type: string + quotaNextResetTime: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspaces.synapse.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: synapse.azure.com + names: + categories: + - azure + - synapse + kind: Workspace + listKind: WorkspaceList + plural: workspaces + singular: workspace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Enable or Disable AzureADOnlyAuthentication on All Workspace subresource' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cspWorkspaceAdminProperties: + description: 'CspWorkspaceAdminProperties: Initial workspace AAD admin properties for a CSP subscription' + properties: + initialWorkspaceAdminObjectId: + description: 'InitialWorkspaceAdminObjectId: AAD object ID of initial workspace admin' + type: string + type: object + defaultDataLakeStorage: + description: 'DefaultDataLakeStorage: Workspace default data lake storage account details' + properties: + accountUrl: + description: 'AccountUrl: Account URL' + type: string + accountUrlFromConfig: + description: 'AccountUrlFromConfig: Account URL' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createManagedPrivateEndpoint: + description: 'CreateManagedPrivateEndpoint: Create managed private endpoint to this storage account or not' + type: boolean + filesystem: + description: 'Filesystem: Filesystem name' + type: string + resourceReference: + description: 'ResourceReference: ARM resource Id of this storage account' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + encryption: + description: 'Encryption: The encryption details of the workspace' + properties: + cmk: + description: 'Cmk: Customer Managed Key Details' + properties: + kekIdentity: + description: 'KekIdentity: Key encryption key' + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Boolean specifying whether to use system assigned identity or not' + x-kubernetes-preserve-unknown-fields: true + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: User assigned identity resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + key: + description: 'Key: The key object of the workspace' + properties: + keyVaultUrl: + description: 'KeyVaultUrl: Workspace Key sub-resource key vault url' + type: string + name: + description: 'Name: Workspace Key sub-resource name' + type: string + type: object + type: object + type: object + identity: + description: 'Identity: Identity of the workspace' + properties: + type: + description: 'Type: The type of managed identity for the workspace' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The user assigned managed identities.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedResourceGroupName: + description: |- + ManagedResourceGroupName: Workspace managed resource group. The resource group name uniquely identifies the resource + group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be + alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.' + type: string + managedVirtualNetwork: + description: |- + ManagedVirtualNetwork: Setting this to 'default' will ensure that all compute for this workspace is in a virtual network + managed on behalf of the user. + type: string + managedVirtualNetworkSettings: + description: 'ManagedVirtualNetworkSettings: Managed Virtual Network Settings' + properties: + allowedAadTenantIdsForLinking: + description: 'AllowedAadTenantIdsForLinking: Allowed Aad Tenant Ids For Linking' + items: + type: string + type: array + linkedAccessCheckOnTargetResource: + description: 'LinkedAccessCheckOnTargetResource: Linked Access Check On Target Resource' + type: boolean + preventDataExfiltration: + description: 'PreventDataExfiltration: Prevent Data Exfiltration' + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Enable or Disable public network access to workspace' + enum: + - Disabled + - Enabled + type: string + purviewConfiguration: + description: 'PurviewConfiguration: Purview Configuration' + properties: + purviewResourceReference: + description: 'PurviewResourceReference: Purview Resource ID' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sqlAdministratorLogin: + description: 'SqlAdministratorLogin: Login for workspace SQL active directory administrator' + type: string + sqlAdministratorLoginPassword: + description: 'SqlAdministratorLoginPassword: SQL administrator login password' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedServiceBypassEnabled: + description: 'TrustedServiceBypassEnabled: Is trustedServiceBypassEnabled for the workspace' + type: boolean + virtualNetworkProfile: + description: 'VirtualNetworkProfile: Virtual Network profile' + properties: + computeSubnetId: + description: 'ComputeSubnetId: Subnet ID used for computes in workspace' + type: string + type: object + workspaceRepositoryConfiguration: + description: 'WorkspaceRepositoryConfiguration: Git integration settings' + properties: + accountName: + description: 'AccountName: Account name' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch' + type: string + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: The last commit ID' + type: string + projectName: + description: 'ProjectName: VSTS project name' + type: string + repositoryName: + description: 'RepositoryName: Repository name' + type: string + rootFolder: + description: 'RootFolder: Root folder to use in the repository' + type: string + tenantId: + description: 'TenantId: The VSTS tenant ID' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: + description: 'Type: Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration' + type: string + type: object + required: + - location + - owner + type: object + status: + description: A workspace + properties: + adlaResourceId: + description: 'AdlaResourceId: The ADLA resource ID.' + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Enable or Disable AzureADOnlyAuthentication on All Workspace subresource' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectivityEndpoints: + additionalProperties: + type: string + description: 'ConnectivityEndpoints: Connectivity endpoints' + type: object + cspWorkspaceAdminProperties: + description: 'CspWorkspaceAdminProperties: Initial workspace AAD admin properties for a CSP subscription' + properties: + initialWorkspaceAdminObjectId: + description: 'InitialWorkspaceAdminObjectId: AAD object ID of initial workspace admin' + type: string + type: object + defaultDataLakeStorage: + description: 'DefaultDataLakeStorage: Workspace default data lake storage account details' + properties: + accountUrl: + description: 'AccountUrl: Account URL' + type: string + createManagedPrivateEndpoint: + description: 'CreateManagedPrivateEndpoint: Create managed private endpoint to this storage account or not' + type: boolean + filesystem: + description: 'Filesystem: Filesystem name' + type: string + resourceId: + description: 'ResourceId: ARM resource Id of this storage account' + type: string + type: object + encryption: + description: 'Encryption: The encryption details of the workspace' + properties: + cmk: + description: 'Cmk: Customer Managed Key Details' + properties: + kekIdentity: + description: 'KekIdentity: Key encryption key' + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Boolean specifying whether to use system assigned identity or not' + x-kubernetes-preserve-unknown-fields: true + userAssignedIdentity: + description: 'UserAssignedIdentity: User assigned identity resource Id' + type: string + type: object + key: + description: 'Key: The key object of the workspace' + properties: + keyVaultUrl: + description: 'KeyVaultUrl: Workspace Key sub-resource key vault url' + type: string + name: + description: 'Name: Workspace Key sub-resource name' + type: string + type: object + status: + description: 'Status: The customer managed key status on the workspace' + type: string + type: object + doubleEncryptionEnabled: + description: 'DoubleEncryptionEnabled: Double Encryption enabled' + type: boolean + type: object + extraProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ExtraProperties: Workspace level configs and feature flags' + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity of the workspace' + properties: + principalId: + description: 'PrincipalId: The principal ID of the workspace managed identity' + type: string + tenantId: + description: 'TenantId: The tenant ID of the workspace managed identity' + type: string + type: + description: 'Type: The type of managed identity for the workspace' + type: string + userAssignedIdentities: + additionalProperties: + description: User Assigned Managed Identity + properties: + clientId: + description: 'ClientId: The client ID.' + type: string + principalId: + description: 'PrincipalId: The principal ID.' + type: string + type: object + description: 'UserAssignedIdentities: The user assigned managed identities.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedResourceGroupName: + description: |- + ManagedResourceGroupName: Workspace managed resource group. The resource group name uniquely identifies the resource + group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be + alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.' + type: string + managedVirtualNetwork: + description: |- + ManagedVirtualNetwork: Setting this to 'default' will ensure that all compute for this workspace is in a virtual network + managed on behalf of the user. + type: string + managedVirtualNetworkSettings: + description: 'ManagedVirtualNetworkSettings: Managed Virtual Network Settings' + properties: + allowedAadTenantIdsForLinking: + description: 'AllowedAadTenantIdsForLinking: Allowed Aad Tenant Ids For Linking' + items: + type: string + type: array + linkedAccessCheckOnTargetResource: + description: 'LinkedAccessCheckOnTargetResource: Linked Access Check On Target Resource' + type: boolean + preventDataExfiltration: + description: 'PreventDataExfiltration: Prevent Data Exfiltration' + type: boolean + type: object + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections to the workspace' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Resource provisioning state' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Enable or Disable public network access to workspace' + type: string + purviewConfiguration: + description: 'PurviewConfiguration: Purview Configuration' + properties: + purviewResourceId: + description: 'PurviewResourceId: Purview Resource ID' + type: string + type: object + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Settings: Workspace settings' + type: object + sqlAdministratorLogin: + description: 'SqlAdministratorLogin: Login for workspace SQL active directory administrator' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedServiceBypassEnabled: + description: 'TrustedServiceBypassEnabled: Is trustedServiceBypassEnabled for the workspace' + type: boolean + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + virtualNetworkProfile: + description: 'VirtualNetworkProfile: Virtual Network profile' + properties: + computeSubnetId: + description: 'ComputeSubnetId: Subnet ID used for computes in workspace' + type: string + type: object + workspaceRepositoryConfiguration: + description: 'WorkspaceRepositoryConfiguration: Git integration settings' + properties: + accountName: + description: 'AccountName: Account name' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch' + type: string + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: The last commit ID' + type: string + projectName: + description: 'ProjectName: VSTS project name' + type: string + repositoryName: + description: 'RepositoryName: Repository name' + type: string + rootFolder: + description: 'RootFolder: Root folder to use in the repository' + type: string + tenantId: + description: 'TenantId: The VSTS tenant ID' + type: string + type: + description: 'Type: Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration' + type: string + type: object + workspaceUID: + description: 'WorkspaceUID: The workspace unique identifier' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.Workspace + Generator information: + - Generated from: /synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/workspace.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.Workspace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureADOnlyAuthentication: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cspWorkspaceAdminProperties: + description: |- + Storage version of v1api20210601.CspWorkspaceAdminProperties + Initial workspace AAD admin properties for a CSP subscription + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + initialWorkspaceAdminObjectId: + type: string + type: object + defaultDataLakeStorage: + description: |- + Storage version of v1api20210601.DataLakeStorageAccountDetails + Details of the data lake storage account associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountUrl: + type: string + accountUrlFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createManagedPrivateEndpoint: + type: boolean + filesystem: + type: string + resourceReference: + description: 'ResourceReference: ARM resource Id of this storage account' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + encryption: + description: |- + Storage version of v1api20210601.EncryptionDetails + Details of the encryption associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cmk: + description: |- + Storage version of v1api20210601.CustomerManagedKeyDetails + Details of the customer managed key associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kekIdentity: + description: |- + Storage version of v1api20210601.KekIdentityProperties + Key encryption key properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + x-kubernetes-preserve-unknown-fields: true + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: User assigned identity resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + key: + description: |- + Storage version of v1api20210601.WorkspaceKeyDetails + Details of the customer managed key associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultUrl: + type: string + name: + type: string + type: object + type: object + type: object + identity: + description: |- + Storage version of v1api20210601.ManagedIdentity + The workspace managed identity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + managedResourceGroupName: + type: string + managedVirtualNetwork: + type: string + managedVirtualNetworkSettings: + description: |- + Storage version of v1api20210601.ManagedVirtualNetworkSettings + Managed Virtual Network Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAadTenantIdsForLinking: + items: + type: string + type: array + linkedAccessCheckOnTargetResource: + type: boolean + preventDataExfiltration: + type: boolean + type: object + operatorSpec: + description: |- + Storage version of v1api20210601.WorkspaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + purviewConfiguration: + description: |- + Storage version of v1api20210601.PurviewConfiguration + Purview Configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + purviewResourceReference: + description: 'PurviewResourceReference: Purview Resource ID' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sqlAdministratorLogin: + type: string + sqlAdministratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tags: + additionalProperties: + type: string + type: object + trustedServiceBypassEnabled: + type: boolean + virtualNetworkProfile: + description: |- + Storage version of v1api20210601.VirtualNetworkProfile + Virtual Network Profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeSubnetId: + type: string + type: object + workspaceRepositoryConfiguration: + description: |- + Storage version of v1api20210601.WorkspaceRepositoryConfiguration + Git integration settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + collaborationBranch: + type: string + hostName: + type: string + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210601.Workspace_STATUS + A workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adlaResourceId: + type: string + azureADOnlyAuthentication: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectivityEndpoints: + additionalProperties: + type: string + type: object + cspWorkspaceAdminProperties: + description: |- + Storage version of v1api20210601.CspWorkspaceAdminProperties_STATUS + Initial workspace AAD admin properties for a CSP subscription + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + initialWorkspaceAdminObjectId: + type: string + type: object + defaultDataLakeStorage: + description: |- + Storage version of v1api20210601.DataLakeStorageAccountDetails_STATUS + Details of the data lake storage account associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountUrl: + type: string + createManagedPrivateEndpoint: + type: boolean + filesystem: + type: string + resourceId: + type: string + type: object + encryption: + description: |- + Storage version of v1api20210601.EncryptionDetails_STATUS + Details of the encryption associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cmk: + description: |- + Storage version of v1api20210601.CustomerManagedKeyDetails_STATUS + Details of the customer managed key associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kekIdentity: + description: |- + Storage version of v1api20210601.KekIdentityProperties_STATUS + Key encryption key properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + x-kubernetes-preserve-unknown-fields: true + userAssignedIdentity: + type: string + type: object + key: + description: |- + Storage version of v1api20210601.WorkspaceKeyDetails_STATUS + Details of the customer managed key associated with the workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultUrl: + type: string + name: + type: string + type: object + status: + type: string + type: object + doubleEncryptionEnabled: + type: boolean + type: object + extraProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210601.ManagedIdentity_STATUS + The workspace managed identity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210601.UserAssignedManagedIdentity_STATUS + User Assigned Managed Identity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + managedResourceGroupName: + type: string + managedVirtualNetwork: + type: string + managedVirtualNetworkSettings: + description: |- + Storage version of v1api20210601.ManagedVirtualNetworkSettings_STATUS + Managed Virtual Network Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAadTenantIdsForLinking: + items: + type: string + type: array + linkedAccessCheckOnTargetResource: + type: boolean + preventDataExfiltration: + type: boolean + type: object + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210601.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + purviewConfiguration: + description: |- + Storage version of v1api20210601.PurviewConfiguration_STATUS + Purview Configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + purviewResourceId: + type: string + type: object + settings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + sqlAdministratorLogin: + type: string + tags: + additionalProperties: + type: string + type: object + trustedServiceBypassEnabled: + type: boolean + type: + type: string + virtualNetworkProfile: + description: |- + Storage version of v1api20210601.VirtualNetworkProfile_STATUS + Virtual Network Profile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeSubnetId: + type: string + type: object + workspaceRepositoryConfiguration: + description: |- + Storage version of v1api20210601.WorkspaceRepositoryConfiguration_STATUS + Git integration settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + collaborationBranch: + type: string + hostName: + type: string + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: + type: string + type: object + workspaceUID: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspacesbigdatapools.synapse.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: synapse.azure.com + names: + categories: + - azure + - synapse + kind: WorkspacesBigDataPool + listKind: WorkspacesBigDataPoolList + plural: workspacesbigdatapools + singular: workspacesbigdatapool + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/bigDataPools/{bigDataPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoPause: + description: 'AutoPause: Auto-pausing properties' + properties: + delayInMinutes: + description: 'DelayInMinutes: Number of minutes of idle time before the Big Data pool is automatically paused.' + type: integer + enabled: + description: 'Enabled: Whether auto-pausing is enabled for the Big Data pool.' + type: boolean + type: object + autoScale: + description: 'AutoScale: Auto-scaling properties' + properties: + enabled: + description: 'Enabled: Whether automatic scaling is enabled for the Big Data pool.' + type: boolean + maxNodeCount: + description: 'MaxNodeCount: The maximum number of nodes the Big Data pool can support.' + type: integer + minNodeCount: + description: 'MinNodeCount: The minimum number of nodes the Big Data pool can support.' + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cacheSize: + description: 'CacheSize: The cache size' + type: integer + customLibraries: + description: 'CustomLibraries: List of custom libraries/packages associated with the spark pool.' + items: + description: Library/package information of a Big Data pool powered by Apache Spark + properties: + containerName: + description: 'ContainerName: Storage blob container name.' + type: string + name: + description: 'Name: Name of the library.' + type: string + path: + description: 'Path: Storage blob path of library.' + type: string + type: + description: 'Type: Type of the library.' + type: string + type: object + type: array + defaultSparkLogFolder: + description: 'DefaultSparkLogFolder: The default folder where Spark logs will be written.' + type: string + dynamicExecutorAllocation: + description: 'DynamicExecutorAllocation: Dynamic Executor Allocation' + properties: + enabled: + description: 'Enabled: Indicates whether Dynamic Executor Allocation is enabled or not.' + type: boolean + maxExecutors: + description: 'MaxExecutors: The maximum number of executors alloted' + type: integer + minExecutors: + description: 'MinExecutors: The minimum number of executors alloted' + type: integer + type: object + isAutotuneEnabled: + description: 'IsAutotuneEnabled: Whether autotune is required or not.' + type: boolean + isComputeIsolationEnabled: + description: 'IsComputeIsolationEnabled: Whether compute isolation is required or not.' + type: boolean + libraryRequirements: + description: 'LibraryRequirements: Library version requirements' + properties: + content: + description: 'Content: The library requirements.' + type: string + filename: + description: 'Filename: The filename of the library requirements file.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + nodeCount: + description: 'NodeCount: The number of nodes in the Big Data pool.' + type: integer + nodeSize: + description: 'NodeSize: The level of compute power that each node in the Big Data pool has.' + enum: + - Large + - Medium + - None + - Small + - XLarge + - XXLarge + - XXXLarge + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: The kind of nodes that the Big Data pool provides.' + enum: + - HardwareAcceleratedFPGA + - HardwareAcceleratedGPU + - MemoryOptimized + - None + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a synapse.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + provisioningState: + description: 'ProvisioningState: The state of the Big Data pool.' + type: string + sessionLevelPackagesEnabled: + description: 'SessionLevelPackagesEnabled: Whether session level packages enabled.' + type: boolean + sparkConfigProperties: + description: 'SparkConfigProperties: Spark configuration file to specify additional properties' + properties: + configurationType: + description: 'ConfigurationType: The type of the spark config properties file.' + enum: + - Artifact + - File + type: string + content: + description: 'Content: The spark config properties.' + type: string + filename: + description: 'Filename: The filename of the spark config properties file.' + type: string + type: object + sparkEventsFolder: + description: 'SparkEventsFolder: The Spark events folder' + type: string + sparkVersion: + description: 'SparkVersion: The Apache Spark version.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + autoPause: + description: 'AutoPause: Auto-pausing properties' + properties: + delayInMinutes: + description: 'DelayInMinutes: Number of minutes of idle time before the Big Data pool is automatically paused.' + type: integer + enabled: + description: 'Enabled: Whether auto-pausing is enabled for the Big Data pool.' + type: boolean + type: object + autoScale: + description: 'AutoScale: Auto-scaling properties' + properties: + enabled: + description: 'Enabled: Whether automatic scaling is enabled for the Big Data pool.' + type: boolean + maxNodeCount: + description: 'MaxNodeCount: The maximum number of nodes the Big Data pool can support.' + type: integer + minNodeCount: + description: 'MinNodeCount: The minimum number of nodes the Big Data pool can support.' + type: integer + type: object + cacheSize: + description: 'CacheSize: The cache size' + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + description: 'CreationDate: The time when the Big Data pool was created.' + type: string + customLibraries: + description: 'CustomLibraries: List of custom libraries/packages associated with the spark pool.' + items: + description: Library/package information of a Big Data pool powered by Apache Spark + properties: + containerName: + description: 'ContainerName: Storage blob container name.' + type: string + creatorId: + description: 'CreatorId: Creator Id of the library/package.' + type: string + name: + description: 'Name: Name of the library.' + type: string + path: + description: 'Path: Storage blob path of library.' + type: string + provisioningStatus: + description: 'ProvisioningStatus: Provisioning status of the library/package.' + type: string + type: + description: 'Type: Type of the library.' + type: string + uploadedTimestamp: + description: 'UploadedTimestamp: The last update time of the library.' + type: string + type: object + type: array + defaultSparkLogFolder: + description: 'DefaultSparkLogFolder: The default folder where Spark logs will be written.' + type: string + dynamicExecutorAllocation: + description: 'DynamicExecutorAllocation: Dynamic Executor Allocation' + properties: + enabled: + description: 'Enabled: Indicates whether Dynamic Executor Allocation is enabled or not.' + type: boolean + maxExecutors: + description: 'MaxExecutors: The maximum number of executors alloted' + type: integer + minExecutors: + description: 'MinExecutors: The minimum number of executors alloted' + type: integer + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isAutotuneEnabled: + description: 'IsAutotuneEnabled: Whether autotune is required or not.' + type: boolean + isComputeIsolationEnabled: + description: 'IsComputeIsolationEnabled: Whether compute isolation is required or not.' + type: boolean + lastSucceededTimestamp: + description: 'LastSucceededTimestamp: The time when the Big Data pool was updated successfully.' + type: string + libraryRequirements: + description: 'LibraryRequirements: Library version requirements' + properties: + content: + description: 'Content: The library requirements.' + type: string + filename: + description: 'Filename: The filename of the library requirements file.' + type: string + time: + description: 'Time: The last update time of the library requirements file.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + nodeCount: + description: 'NodeCount: The number of nodes in the Big Data pool.' + type: integer + nodeSize: + description: 'NodeSize: The level of compute power that each node in the Big Data pool has.' + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: The kind of nodes that the Big Data pool provides.' + type: string + provisioningState: + description: 'ProvisioningState: The state of the Big Data pool.' + type: string + sessionLevelPackagesEnabled: + description: 'SessionLevelPackagesEnabled: Whether session level packages enabled.' + type: boolean + sparkConfigProperties: + description: 'SparkConfigProperties: Spark configuration file to specify additional properties' + properties: + configurationType: + description: 'ConfigurationType: The type of the spark config properties file.' + type: string + content: + description: 'Content: The spark config properties.' + type: string + filename: + description: 'Filename: The filename of the spark config properties file.' + type: string + time: + description: 'Time: The last update time of the spark config properties file.' + type: string + type: object + sparkEventsFolder: + description: 'SparkEventsFolder: The Spark events folder' + type: string + sparkVersion: + description: 'SparkVersion: The Apache Spark version.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210601.WorkspacesBigDataPool + Generator information: + - Generated from: /synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/bigDataPool.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/bigDataPools/{bigDataPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210601.WorkspacesBigDataPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPause: + description: |- + Storage version of v1api20210601.AutoPauseProperties + Auto-pausing properties of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScale: + description: |- + Storage version of v1api20210601.AutoScaleProperties + Auto-scaling properties of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cacheSize: + type: integer + customLibraries: + items: + description: |- + Storage version of v1api20210601.LibraryInfo + Library/package information of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + path: + type: string + type: + type: string + type: object + type: array + defaultSparkLogFolder: + type: string + dynamicExecutorAllocation: + description: |- + Storage version of v1api20210601.DynamicExecutorAllocation + Dynamic Executor Allocation Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxExecutors: + type: integer + minExecutors: + type: integer + type: object + isAutotuneEnabled: + type: boolean + isComputeIsolationEnabled: + type: boolean + libraryRequirements: + description: |- + Storage version of v1api20210601.LibraryRequirements + Library requirements for a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + content: + type: string + filename: + type: string + type: object + location: + type: string + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.WorkspacesBigDataPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a synapse.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + provisioningState: + type: string + sessionLevelPackagesEnabled: + type: boolean + sparkConfigProperties: + description: |- + Storage version of v1api20210601.SparkConfigProperties + SparkConfig Properties for a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationType: + type: string + content: + type: string + filename: + type: string + type: object + sparkEventsFolder: + type: string + sparkVersion: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210601.WorkspacesBigDataPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPause: + description: |- + Storage version of v1api20210601.AutoPauseProperties_STATUS + Auto-pausing properties of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScale: + description: |- + Storage version of v1api20210601.AutoScaleProperties_STATUS + Auto-scaling properties of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + cacheSize: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationDate: + type: string + customLibraries: + items: + description: |- + Storage version of v1api20210601.LibraryInfo_STATUS + Library/package information of a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + creatorId: + type: string + name: + type: string + path: + type: string + provisioningStatus: + type: string + type: + type: string + uploadedTimestamp: + type: string + type: object + type: array + defaultSparkLogFolder: + type: string + dynamicExecutorAllocation: + description: |- + Storage version of v1api20210601.DynamicExecutorAllocation_STATUS + Dynamic Executor Allocation Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxExecutors: + type: integer + minExecutors: + type: integer + type: object + id: + type: string + isAutotuneEnabled: + type: boolean + isComputeIsolationEnabled: + type: boolean + lastSucceededTimestamp: + type: string + libraryRequirements: + description: |- + Storage version of v1api20210601.LibraryRequirements_STATUS + Library requirements for a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + content: + type: string + filename: + type: string + time: + type: string + type: object + location: + type: string + name: + type: string + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + provisioningState: + type: string + sessionLevelPackagesEnabled: + type: boolean + sparkConfigProperties: + description: |- + Storage version of v1api20210601.SparkConfigProperties_STATUS + SparkConfig Properties for a Big Data pool powered by Apache Spark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configurationType: + type: string + content: + type: string + filename: + type: string + time: + type: string + type: object + sparkEventsFolder: + type: string + sparkVersion: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspacescomputes.machinelearningservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: machinelearningservices.azure.com + names: + categories: + - azure + - machinelearningservices + kind: WorkspacesCompute + listKind: WorkspacesComputeList + plural: workspacescomputes + singular: workspacescompute + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The user assigned identities associated with the resource.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Specifies the location of the resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Compute properties' + properties: + aks: + description: 'AKS: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - AKS + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: AKS properties' + properties: + agentCount: + description: 'AgentCount: Number of agents' + minimum: 0 + type: integer + agentVmSize: + description: 'AgentVmSize: Agent virtual machine size' + type: string + aksNetworkingConfiguration: + description: 'AksNetworkingConfiguration: AKS networking configuration for vnet' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + description: |- + DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP + ranges or the Kubernetes service address range. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + subnetReference: + description: 'SubnetReference: Virtual network subnet resource ID the compute nodes belong to' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + clusterFqdn: + description: 'ClusterFqdn: Cluster full qualified domain name' + type: string + clusterPurpose: + description: 'ClusterPurpose: Intended usage of the cluster' + enum: + - DenseProd + - DevTest + - FastProd + type: string + loadBalancerSubnet: + description: 'LoadBalancerSubnet: Load Balancer Subnet' + type: string + loadBalancerType: + description: 'LoadBalancerType: Load Balancer Type' + enum: + - InternalLoadBalancer + - PublicIp + type: string + sslConfiguration: + description: 'SslConfiguration: SSL configuration' + properties: + cert: + description: 'Cert: Cert data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + cname: + description: 'Cname: CNAME of the cert' + type: string + key: + description: 'Key: Key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + leafDomainLabel: + description: 'LeafDomainLabel: Leaf domain label of public endpoint' + type: string + overwriteExistingDomain: + description: 'OverwriteExistingDomain: Indicates whether to overwrite existing domain label.' + type: boolean + status: + description: 'Status: Enable or disable ssl for scoring' + enum: + - Auto + - Disabled + - Enabled + type: string + type: object + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + amlCompute: + description: 'AmlCompute: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - AmlCompute + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of AmlCompute' + properties: + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + isolatedNetwork: + description: 'IsolatedNetwork: Network is isolated or not' + type: boolean + osType: + description: 'OsType: Compute OS Type' + enum: + - Linux + - Windows + type: string + remoteLoginPortPublicAccess: + description: |- + RemoteLoginPortPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh + port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the + cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, + else is open all public nodes. It can be default only during cluster creation time, after creation it will be either + enabled or disabled. + enum: + - Disabled + - Enabled + - NotSpecified + type: string + scaleSettings: + description: 'ScaleSettings: Scale settings for AML Compute' + properties: + maxNodeCount: + description: 'MaxNodeCount: Max number of nodes to use' + type: integer + minNodeCount: + description: 'MinNodeCount: Min number of nodes to use' + type: integer + nodeIdleTimeBeforeScaleDown: + description: 'NodeIdleTimeBeforeScaleDown: Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.' + type: string + required: + - maxNodeCount + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + userAccountCredentials: + description: 'UserAccountCredentials: Credentials for an administrator user account that will be created on each compute node.' + properties: + adminUserName: + description: 'AdminUserName: Name of the administrator user account which can be used to SSH to nodes.' + type: string + adminUserPassword: + description: 'AdminUserPassword: Password of the administrator user account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUserSshPublicKey: + description: 'AdminUserSshPublicKey: SSH public key of the administrator user account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - adminUserName + type: object + virtualMachineImage: + description: 'VirtualMachineImage: Virtual Machine image for AML Compute - windows only' + properties: + reference: + description: 'Reference: Virtual Machine image path' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmPriority: + description: 'VmPriority: Virtual Machine priority' + enum: + - Dedicated + - LowPriority + type: string + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + computeInstance: + description: 'ComputeInstance: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - ComputeInstance + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of ComputeInstance' + properties: + applicationSharingPolicy: + description: |- + ApplicationSharingPolicy: Policy for sharing applications on this compute instance among users of parent workspace. If + Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access + applications on this instance depending on his/her assigned role. + enum: + - Personal + - Shared + type: string + computeInstanceAuthorizationType: + description: 'ComputeInstanceAuthorizationType: The Compute Instance Authorization type. Available values are personal (default).' + enum: + - personal + type: string + personalComputeInstanceSettings: + description: 'PersonalComputeInstanceSettings: Settings for a personal compute instance.' + properties: + assignedUser: + description: 'AssignedUser: A user explicitly assigned to a personal compute instance.' + properties: + objectId: + description: 'ObjectId: User’s AAD Object Id.' + type: string + tenantId: + description: 'TenantId: User’s AAD Tenant Id.' + type: string + required: + - objectId + - tenantId + type: object + type: object + setupScripts: + description: 'SetupScripts: Details of customized scripts to execute for setting up the cluster.' + properties: + scripts: + description: 'Scripts: Customized setup scripts' + properties: + creationScript: + description: 'CreationScript: Script that''s run only once during provision of the compute.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: inline, workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + startupScript: + description: 'StartupScript: Script that''s run every time the machine starts.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: inline, workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + type: object + type: object + sshSettings: + description: 'SshSettings: Specifies policy and settings for SSH access.' + properties: + adminPublicKey: + description: |- + AdminPublicKey: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH + key pairs. + type: string + sshPublicAccess: + description: |- + SshPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is + closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the + VNet/subnet policy if applicable. + enum: + - Disabled + - Enabled + type: string + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + dataFactory: + description: 'DataFactory: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - DataFactory + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + dataLakeAnalytics: + description: 'DataLakeAnalytics: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - DataLakeAnalytics + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + dataLakeStoreAccountName: + description: 'DataLakeStoreAccountName: DataLake Store Account Name' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + databricks: + description: 'Databricks: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - Databricks + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of Databricks' + properties: + databricksAccessToken: + description: 'DatabricksAccessToken: Databricks access token' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceUrl: + description: 'WorkspaceUrl: Workspace Url' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + hdInsight: + description: 'HDInsight: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - HDInsight + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: HDInsight compute properties' + properties: + address: + description: 'Address: Public IP address of the master node of the cluster.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for master node of the cluster' + properties: + password: + description: 'Password: Password of admin account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: 'PrivateKeyData: Private key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: 'PublicKeyData: Public key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + description: 'Username: Username of admin account' + type: string + type: object + sshPort: + description: 'SshPort: Port open for ssh connections on the master node of the cluster.' + type: integer + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + kubernetes: + description: 'Kubernetes: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - Kubernetes + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of Kubernetes' + properties: + defaultInstanceType: + description: 'DefaultInstanceType: Default instance type' + type: string + extensionInstanceReleaseTrain: + description: 'ExtensionInstanceReleaseTrain: Extension instance release train.' + type: string + extensionPrincipalId: + description: 'ExtensionPrincipalId: Extension principal-id.' + type: string + instanceTypes: + additionalProperties: + description: Instance type schema. + properties: + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: Node Selector' + type: object + resources: + description: 'Resources: Resource requests/limits for this instance type' + properties: + limits: + additionalProperties: + type: string + description: 'Limits: Resource limits for this instance type' + type: object + requests: + additionalProperties: + type: string + description: 'Requests: Resource requests for this instance type' + type: object + type: object + type: object + description: 'InstanceTypes: Instance Type Schema' + type: object + namespace: + description: 'Namespace: Compute namespace' + type: string + relayConnectionString: + description: 'RelayConnectionString: Relay connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serviceBusConnectionString: + description: 'ServiceBusConnectionString: ServiceBus connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vcName: + description: 'VcName: VC name.' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + synapseSpark: + description: 'SynapseSpark: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - SynapseSpark + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + autoPauseProperties: + description: 'AutoPauseProperties: Auto pause properties.' + properties: + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: 'AutoScaleProperties: Auto scale properties.' + properties: + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + description: 'NodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + nodeSize: + description: 'NodeSize: Node size.' + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: Node size family.' + type: string + poolName: + description: 'PoolName: Pool name.' + type: string + resourceGroup: + description: 'ResourceGroup: Name of the resource group in which workspace is located.' + type: string + sparkVersion: + description: 'SparkVersion: Spark version.' + type: string + subscriptionId: + description: 'SubscriptionId: Azure subscription identifier.' + type: string + workspaceName: + description: 'WorkspaceName: Name of Azure Machine Learning workspace.' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + virtualMachine: + description: 'VirtualMachine: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - VirtualMachine + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + address: + description: 'Address: Public IP address of the virtual machine.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for virtual machine' + properties: + password: + description: 'Password: Password of admin account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: 'PrivateKeyData: Private key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: 'PublicKeyData: Public key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + description: 'Username: Username of admin account' + type: string + type: object + isNotebookInstanceCompute: + description: 'IsNotebookInstanceCompute: Indicates whether this compute will be used for running notebooks.' + type: boolean + sshPort: + description: 'SshPort: Port open for ssh connections.' + type: integer + virtualMachineSize: + description: 'VirtualMachineSize: Virtual Machine size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + type: object + sku: + description: 'Sku: The sku of the workspace.' + properties: + name: + description: 'Name: Name of the sku' + type: string + tier: + description: 'Tier: Tier of the sku like Basic or Enterprise' + type: string + type: object + systemData: + description: 'SystemData: System data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: User Assigned Identity + properties: + clientId: + description: 'ClientId: The clientId(aka appId) of the user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the user assigned identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the user assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: The user assigned identities associated with the resource.' + type: object + type: object + location: + description: 'Location: Specifies the location of the resource.' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Compute properties' + properties: + aks: + description: 'AKS: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: AKS properties' + properties: + agentCount: + description: 'AgentCount: Number of agents' + type: integer + agentVmSize: + description: 'AgentVmSize: Agent virtual machine size' + type: string + aksNetworkingConfiguration: + description: 'AksNetworkingConfiguration: AKS networking configuration for vnet' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + dockerBridgeCidr: + description: |- + DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP + ranges or the Kubernetes service address range. + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + subnetId: + description: 'SubnetId: Virtual network subnet resource ID the compute nodes belong to' + type: string + type: object + clusterFqdn: + description: 'ClusterFqdn: Cluster full qualified domain name' + type: string + clusterPurpose: + description: 'ClusterPurpose: Intended usage of the cluster' + type: string + loadBalancerSubnet: + description: 'LoadBalancerSubnet: Load Balancer Subnet' + type: string + loadBalancerType: + description: 'LoadBalancerType: Load Balancer Type' + type: string + sslConfiguration: + description: 'SslConfiguration: SSL configuration' + properties: + cname: + description: 'Cname: CNAME of the cert' + type: string + leafDomainLabel: + description: 'LeafDomainLabel: Leaf domain label of public endpoint' + type: string + overwriteExistingDomain: + description: 'OverwriteExistingDomain: Indicates whether to overwrite existing domain label.' + type: boolean + status: + description: 'Status: Enable or disable ssl for scoring' + type: string + type: object + systemServices: + description: 'SystemServices: System services' + items: + description: A system service running on a compute. + properties: + publicIpAddress: + description: 'PublicIpAddress: Public IP address' + type: string + systemServiceType: + description: 'SystemServiceType: The type of this system service.' + type: string + version: + description: 'Version: The version for this type.' + type: string + type: object + type: array + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + amlCompute: + description: 'AmlCompute: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of AmlCompute' + properties: + allocationState: + description: |- + AllocationState: Allocation state of the compute. Possible values are: steady - Indicates that the compute is not + resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state + when it is created and when no operations are being performed on the compute to change the number of compute nodes. + resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute. + type: string + allocationStateTransitionTime: + description: 'AllocationStateTransitionTime: The time at which the compute entered its current allocation state.' + type: string + currentNodeCount: + description: 'CurrentNodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + errors: + description: 'Errors: Collection of errors encountered by various compute nodes during node setup.' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + isolatedNetwork: + description: 'IsolatedNetwork: Network is isolated or not' + type: boolean + nodeStateCounts: + description: 'NodeStateCounts: Counts of various node states on the compute.' + properties: + idleNodeCount: + description: 'IdleNodeCount: Number of compute nodes in idle state.' + type: integer + leavingNodeCount: + description: 'LeavingNodeCount: Number of compute nodes which are leaving the amlCompute.' + type: integer + preemptedNodeCount: + description: 'PreemptedNodeCount: Number of compute nodes which are in preempted state.' + type: integer + preparingNodeCount: + description: 'PreparingNodeCount: Number of compute nodes which are being prepared.' + type: integer + runningNodeCount: + description: 'RunningNodeCount: Number of compute nodes which are running jobs.' + type: integer + unusableNodeCount: + description: 'UnusableNodeCount: Number of compute nodes which are in unusable state.' + type: integer + type: object + osType: + description: 'OsType: Compute OS Type' + type: string + remoteLoginPortPublicAccess: + description: |- + RemoteLoginPortPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh + port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the + cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, + else is open all public nodes. It can be default only during cluster creation time, after creation it will be either + enabled or disabled. + type: string + scaleSettings: + description: 'ScaleSettings: Scale settings for AML Compute' + properties: + maxNodeCount: + description: 'MaxNodeCount: Max number of nodes to use' + type: integer + minNodeCount: + description: 'MinNodeCount: Min number of nodes to use' + type: integer + nodeIdleTimeBeforeScaleDown: + description: 'NodeIdleTimeBeforeScaleDown: Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.' + type: string + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + id: + description: 'Id: The ID of the resource' + type: string + type: object + targetNodeCount: + description: |- + TargetNodeCount: The target number of compute nodes for the compute. If the allocationState is resizing, this property + denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes + the target node count for the previous resize operation. + type: integer + userAccountCredentials: + description: 'UserAccountCredentials: Credentials for an administrator user account that will be created on each compute node.' + properties: + adminUserName: + description: 'AdminUserName: Name of the administrator user account which can be used to SSH to nodes.' + type: string + type: object + virtualMachineImage: + description: 'VirtualMachineImage: Virtual Machine image for AML Compute - windows only' + properties: + id: + description: 'Id: Virtual Machine image path' + type: string + type: object + vmPriority: + description: 'VmPriority: Virtual Machine priority' + type: string + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + computeInstance: + description: 'ComputeInstance: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of ComputeInstance' + properties: + applicationSharingPolicy: + description: |- + ApplicationSharingPolicy: Policy for sharing applications on this compute instance among users of parent workspace. If + Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access + applications on this instance depending on his/her assigned role. + type: string + applications: + description: 'Applications: Describes available applications and their endpoints on this ComputeInstance.' + items: + description: Defines an Aml Instance application and its connectivity endpoint URI. + properties: + displayName: + description: 'DisplayName: Name of the ComputeInstance application.' + type: string + endpointUri: + description: 'EndpointUri: Application'' endpoint URI.' + type: string + type: object + type: array + computeInstanceAuthorizationType: + description: 'ComputeInstanceAuthorizationType: The Compute Instance Authorization type. Available values are personal (default).' + type: string + connectivityEndpoints: + description: 'ConnectivityEndpoints: Describes all connectivity endpoints available for this ComputeInstance.' + properties: + privateIpAddress: + description: |- + PrivateIpAddress: Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is + deployed). + type: string + publicIpAddress: + description: 'PublicIpAddress: Public IP Address of this ComputeInstance.' + type: string + type: object + createdBy: + description: 'CreatedBy: Describes information on user who created this ComputeInstance.' + properties: + userId: + description: 'UserId: Uniquely identifies the user within his/her organization.' + type: string + userName: + description: 'UserName: Name of the user.' + type: string + userOrgId: + description: 'UserOrgId: Uniquely identifies user'' Azure Active Directory organization.' + type: string + type: object + errors: + description: 'Errors: Collection of errors encountered on this ComputeInstance.' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + lastOperation: + description: 'LastOperation: The last operation on ComputeInstance.' + properties: + operationName: + description: 'OperationName: Name of the last operation.' + type: string + operationStatus: + description: 'OperationStatus: Operation status.' + type: string + operationTime: + description: 'OperationTime: Time of the last operation.' + type: string + type: object + personalComputeInstanceSettings: + description: 'PersonalComputeInstanceSettings: Settings for a personal compute instance.' + properties: + assignedUser: + description: 'AssignedUser: A user explicitly assigned to a personal compute instance.' + properties: + objectId: + description: 'ObjectId: User’s AAD Object Id.' + type: string + tenantId: + description: 'TenantId: User’s AAD Tenant Id.' + type: string + type: object + type: object + setupScripts: + description: 'SetupScripts: Details of customized scripts to execute for setting up the cluster.' + properties: + scripts: + description: 'Scripts: Customized setup scripts' + properties: + creationScript: + description: 'CreationScript: Script that''s run only once during provision of the compute.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: inline, workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + startupScript: + description: 'StartupScript: Script that''s run every time the machine starts.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: inline, workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + type: object + type: object + sshSettings: + description: 'SshSettings: Specifies policy and settings for SSH access.' + properties: + adminPublicKey: + description: |- + AdminPublicKey: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH + key pairs. + type: string + adminUserName: + description: 'AdminUserName: Describes the admin user name.' + type: string + sshPort: + description: 'SshPort: Describes the port for connecting through SSH.' + type: integer + sshPublicAccess: + description: |- + SshPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is + closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the + VNet/subnet policy if applicable. + type: string + type: object + state: + description: 'State: The current state of this ComputeInstance.' + type: string + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + id: + description: 'Id: The ID of the resource' + type: string + type: object + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + dataFactory: + description: 'DataFactory: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + dataLakeAnalytics: + description: 'DataLakeAnalytics: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + dataLakeStoreAccountName: + description: 'DataLakeStoreAccountName: DataLake Store Account Name' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + databricks: + description: 'Databricks: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of Databricks' + properties: + workspaceUrl: + description: 'WorkspaceUrl: Workspace Url' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + hdInsight: + description: 'HDInsight: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: HDInsight compute properties' + properties: + address: + description: 'Address: Public IP address of the master node of the cluster.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for master node of the cluster' + properties: + username: + description: 'Username: Username of admin account' + type: string + type: object + sshPort: + description: 'SshPort: Port open for ssh connections on the master node of the cluster.' + type: integer + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + kubernetes: + description: 'Kubernetes: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of Kubernetes' + properties: + defaultInstanceType: + description: 'DefaultInstanceType: Default instance type' + type: string + extensionInstanceReleaseTrain: + description: 'ExtensionInstanceReleaseTrain: Extension instance release train.' + type: string + extensionPrincipalId: + description: 'ExtensionPrincipalId: Extension principal-id.' + type: string + instanceTypes: + additionalProperties: + description: Instance type schema. + properties: + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: Node Selector' + type: object + resources: + description: 'Resources: Resource requests/limits for this instance type' + properties: + limits: + additionalProperties: + type: string + description: 'Limits: Resource limits for this instance type' + type: object + requests: + additionalProperties: + type: string + description: 'Requests: Resource requests for this instance type' + type: object + type: object + type: object + description: 'InstanceTypes: Instance Type Schema' + type: object + namespace: + description: 'Namespace: Compute namespace' + type: string + vcName: + description: 'VcName: VC name.' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + synapseSpark: + description: 'SynapseSpark: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + autoPauseProperties: + description: 'AutoPauseProperties: Auto pause properties.' + properties: + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: 'AutoScaleProperties: Auto scale properties.' + properties: + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + description: 'NodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + nodeSize: + description: 'NodeSize: Node size.' + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: Node size family.' + type: string + poolName: + description: 'PoolName: Pool name.' + type: string + resourceGroup: + description: 'ResourceGroup: Name of the resource group in which workspace is located.' + type: string + sparkVersion: + description: 'SparkVersion: Spark version.' + type: string + subscriptionId: + description: 'SubscriptionId: Azure subscription identifier.' + type: string + workspaceName: + description: 'WorkspaceName: Name of Azure Machine Learning workspace.' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + virtualMachine: + description: 'VirtualMachine: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + address: + description: 'Address: Public IP address of the virtual machine.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for virtual machine' + properties: + username: + description: 'Username: Username of admin account' + type: string + type: object + isNotebookInstanceCompute: + description: 'IsNotebookInstanceCompute: Indicates whether this compute will be used for running notebooks.' + type: boolean + sshPort: + description: 'SshPort: Port open for ssh connections.' + type: integer + virtualMachineSize: + description: 'VirtualMachineSize: Virtual Machine size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + type: object + sku: + description: 'Sku: The sku of the workspace.' + properties: + name: + description: 'Name: Name of the sku' + type: string + tier: + description: 'Tier: Tier of the sku like Basic or Enterprise' + type: string + type: object + systemData: + description: 'SystemData: System data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210701.WorkspacesCompute + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210701.WorkspacesCompute_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20210701.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210701.WorkspacesComputeOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20210701.Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aks: + description: Storage version of v1api20210701.AKS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20210701.AKS_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentCount: + type: integer + agentVmSize: + type: string + aksNetworkingConfiguration: + description: |- + Storage version of v1api20210701.AksNetworkingConfiguration + Advance configuration for AKS networking + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + serviceCidr: + type: string + subnetReference: + description: 'SubnetReference: Virtual network subnet resource ID the compute nodes belong to' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + clusterFqdn: + type: string + clusterPurpose: + type: string + loadBalancerSubnet: + type: string + loadBalancerType: + type: string + sslConfiguration: + description: |- + Storage version of v1api20210701.SslConfiguration + The ssl configuration for scoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + cname: + type: string + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + leafDomainLabel: + type: string + overwriteExistingDomain: + type: boolean + status: + type: string + type: object + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + amlCompute: + description: Storage version of v1api20210701.AmlCompute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20210701.AmlComputeProperties + AML Compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableNodePublicIp: + type: boolean + isolatedNetwork: + type: boolean + osType: + type: string + remoteLoginPortPublicAccess: + type: string + scaleSettings: + description: |- + Storage version of v1api20210701.ScaleSettings + scale settings for AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeCount: + type: integer + minNodeCount: + type: integer + nodeIdleTimeBeforeScaleDown: + type: string + type: object + subnet: + description: |- + Storage version of v1api20210701.ResourceId + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + userAccountCredentials: + description: |- + Storage version of v1api20210701.UserAccountCredentials + Settings for user account that gets created on each on the nodes of a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserName: + type: string + adminUserPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUserSshPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + virtualMachineImage: + description: |- + Storage version of v1api20210701.VirtualMachineImage + Virtual Machine image for Windows AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Virtual Machine image path' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmPriority: + type: string + vmSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + computeInstance: + description: Storage version of v1api20210701.ComputeInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20210701.ComputeInstanceProperties + Compute Instance properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSharingPolicy: + type: string + computeInstanceAuthorizationType: + type: string + personalComputeInstanceSettings: + description: |- + Storage version of v1api20210701.PersonalComputeInstanceSettings + Settings for a personal compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedUser: + description: |- + Storage version of v1api20210701.AssignedUser + A user that can be assigned to a compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectId: + type: string + tenantId: + type: string + type: object + type: object + setupScripts: + description: |- + Storage version of v1api20210701.SetupScripts + Details of customized scripts to execute for setting up the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scripts: + description: |- + Storage version of v1api20210701.ScriptsToExecute + Customized setup scripts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + creationScript: + description: |- + Storage version of v1api20210701.ScriptReference + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + startupScript: + description: |- + Storage version of v1api20210701.ScriptReference + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + type: object + type: object + sshSettings: + description: |- + Storage version of v1api20210701.ComputeInstanceSshSettings + Specifies policy and settings for SSH access. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPublicKey: + type: string + sshPublicAccess: + type: string + type: object + subnet: + description: |- + Storage version of v1api20210701.ResourceId + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dataFactory: + description: Storage version of v1api20210701.DataFactory + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dataLakeAnalytics: + description: Storage version of v1api20210701.DataLakeAnalytics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20210701.DataLakeAnalytics_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataLakeStoreAccountName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + databricks: + description: Storage version of v1api20210701.Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20210701.DatabricksProperties + Properties of Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databricksAccessToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceUrl: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hdInsight: + description: Storage version of v1api20210701.HDInsight + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20210701.HDInsightProperties + HDInsight compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20210701.VirtualMachineSshCredentials + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + sshPort: + type: integer + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kubernetes: + description: Storage version of v1api20210701.Kubernetes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20210701.KubernetesProperties + Kubernetes properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultInstanceType: + type: string + extensionInstanceReleaseTrain: + type: string + extensionPrincipalId: + type: string + instanceTypes: + additionalProperties: + description: |- + Storage version of v1api20210701.InstanceTypeSchema + Instance type schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeSelector: + additionalProperties: + type: string + type: object + resources: + description: Storage version of v1api20210701.InstanceTypeSchema_Resources + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + type: object + type: object + type: object + type: object + namespace: + type: string + relayConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serviceBusConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vcName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + synapseSpark: + description: Storage version of v1api20210701.SynapseSpark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20210701.SynapseSpark_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseProperties: + description: |- + Storage version of v1api20210701.AutoPauseProperties + Auto pause properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: |- + Storage version of v1api20210701.AutoScaleProperties + Auto scale properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + poolName: + type: string + resourceGroup: + type: string + sparkVersion: + type: string + subscriptionId: + type: string + workspaceName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualMachine: + description: Storage version of v1api20210701.VirtualMachine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20210701.VirtualMachine_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20210701.VirtualMachineSshCredentials + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + isNotebookInstanceCompute: + type: boolean + sshPort: + type: integer + virtualMachineSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20210701.Sku + Sku of the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210701.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210701.WorkspacesCompute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20210701.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210701.UserAssignedIdentity_STATUS + User Assigned Identity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + tenantId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: Storage version of v1api20210701.Compute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aks: + description: Storage version of v1api20210701.AKS_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20210701.AKS_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentCount: + type: integer + agentVmSize: + type: string + aksNetworkingConfiguration: + description: |- + Storage version of v1api20210701.AksNetworkingConfiguration_STATUS + Advance configuration for AKS networking + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + serviceCidr: + type: string + subnetId: + type: string + type: object + clusterFqdn: + type: string + clusterPurpose: + type: string + loadBalancerSubnet: + type: string + loadBalancerType: + type: string + sslConfiguration: + description: |- + Storage version of v1api20210701.SslConfiguration_STATUS + The ssl configuration for scoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + leafDomainLabel: + type: string + overwriteExistingDomain: + type: boolean + status: + type: string + type: object + systemServices: + items: + description: |- + Storage version of v1api20210701.SystemService_STATUS + A system service running on a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIpAddress: + type: string + systemServiceType: + type: string + version: + type: string + type: object + type: array + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + amlCompute: + description: Storage version of v1api20210701.AmlCompute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20210701.AmlComputeProperties_STATUS + AML Compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocationState: + type: string + allocationStateTransitionTime: + type: string + currentNodeCount: + type: integer + enableNodePublicIp: + type: boolean + errors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + isolatedNetwork: + type: boolean + nodeStateCounts: + description: |- + Storage version of v1api20210701.NodeStateCounts_STATUS + Counts of various compute node states on the amlCompute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + idleNodeCount: + type: integer + leavingNodeCount: + type: integer + preemptedNodeCount: + type: integer + preparingNodeCount: + type: integer + runningNodeCount: + type: integer + unusableNodeCount: + type: integer + type: object + osType: + type: string + remoteLoginPortPublicAccess: + type: string + scaleSettings: + description: |- + Storage version of v1api20210701.ScaleSettings_STATUS + scale settings for AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeCount: + type: integer + minNodeCount: + type: integer + nodeIdleTimeBeforeScaleDown: + type: string + type: object + subnet: + description: |- + Storage version of v1api20210701.ResourceId_STATUS + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + targetNodeCount: + type: integer + userAccountCredentials: + description: |- + Storage version of v1api20210701.UserAccountCredentials_STATUS + Settings for user account that gets created on each on the nodes of a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserName: + type: string + type: object + virtualMachineImage: + description: |- + Storage version of v1api20210701.VirtualMachineImage_STATUS + Virtual Machine image for Windows AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vmPriority: + type: string + vmSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + computeInstance: + description: Storage version of v1api20210701.ComputeInstance_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20210701.ComputeInstanceProperties_STATUS + Compute Instance properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSharingPolicy: + type: string + applications: + items: + description: |- + Storage version of v1api20210701.ComputeInstanceApplication_STATUS + Defines an Aml Instance application and its connectivity endpoint URI. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + displayName: + type: string + endpointUri: + type: string + type: object + type: array + computeInstanceAuthorizationType: + type: string + connectivityEndpoints: + description: |- + Storage version of v1api20210701.ComputeInstanceConnectivityEndpoints_STATUS + Defines all connectivity endpoints and properties for an ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIpAddress: + type: string + publicIpAddress: + type: string + type: object + createdBy: + description: |- + Storage version of v1api20210701.ComputeInstanceCreatedBy_STATUS + Describes information on user who created this ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userId: + type: string + userName: + type: string + userOrgId: + type: string + type: object + errors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + lastOperation: + description: |- + Storage version of v1api20210701.ComputeInstanceLastOperation_STATUS + The last operation on ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operationName: + type: string + operationStatus: + type: string + operationTime: + type: string + type: object + personalComputeInstanceSettings: + description: |- + Storage version of v1api20210701.PersonalComputeInstanceSettings_STATUS + Settings for a personal compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedUser: + description: |- + Storage version of v1api20210701.AssignedUser_STATUS + A user that can be assigned to a compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectId: + type: string + tenantId: + type: string + type: object + type: object + setupScripts: + description: |- + Storage version of v1api20210701.SetupScripts_STATUS + Details of customized scripts to execute for setting up the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scripts: + description: |- + Storage version of v1api20210701.ScriptsToExecute_STATUS + Customized setup scripts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + creationScript: + description: |- + Storage version of v1api20210701.ScriptReference_STATUS + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + startupScript: + description: |- + Storage version of v1api20210701.ScriptReference_STATUS + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + type: object + type: object + sshSettings: + description: |- + Storage version of v1api20210701.ComputeInstanceSshSettings_STATUS + Specifies policy and settings for SSH access. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPublicKey: + type: string + adminUserName: + type: string + sshPort: + type: integer + sshPublicAccess: + type: string + type: object + state: + type: string + subnet: + description: |- + Storage version of v1api20210701.ResourceId_STATUS + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vmSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + dataFactory: + description: Storage version of v1api20210701.DataFactory_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + dataLakeAnalytics: + description: Storage version of v1api20210701.DataLakeAnalytics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20210701.DataLakeAnalytics_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataLakeStoreAccountName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + databricks: + description: Storage version of v1api20210701.Databricks_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20210701.DatabricksProperties_STATUS + Properties of Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + workspaceUrl: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + hdInsight: + description: Storage version of v1api20210701.HDInsight_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20210701.HDInsightProperties_STATUS + HDInsight compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20210701.VirtualMachineSshCredentials_STATUS + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + username: + type: string + type: object + sshPort: + type: integer + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + kubernetes: + description: Storage version of v1api20210701.Kubernetes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20210701.KubernetesProperties_STATUS + Kubernetes properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultInstanceType: + type: string + extensionInstanceReleaseTrain: + type: string + extensionPrincipalId: + type: string + instanceTypes: + additionalProperties: + description: |- + Storage version of v1api20210701.InstanceTypeSchema_STATUS + Instance type schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeSelector: + additionalProperties: + type: string + type: object + resources: + description: Storage version of v1api20210701.InstanceTypeSchema_Resources_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + type: object + type: object + type: object + type: object + namespace: + type: string + vcName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + synapseSpark: + description: Storage version of v1api20210701.SynapseSpark_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20210701.SynapseSpark_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseProperties: + description: |- + Storage version of v1api20210701.AutoPauseProperties_STATUS + Auto pause properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: |- + Storage version of v1api20210701.AutoScaleProperties_STATUS + Auto scale properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + poolName: + type: string + resourceGroup: + type: string + sparkVersion: + type: string + subscriptionId: + type: string + workspaceName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + virtualMachine: + description: Storage version of v1api20210701.VirtualMachine_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20210701.VirtualMachine_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20210701.VirtualMachineSshCredentials_STATUS + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + username: + type: string + type: object + isNotebookInstanceCompute: + type: boolean + sshPort: + type: integer + virtualMachineSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20210701.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20210701.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20210701.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20210701.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20210701.Sku_STATUS + Sku of the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: Specifies the location of the resource.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Compute properties' + properties: + aks: + description: 'AKS: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - AKS + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: AKS properties' + properties: + agentCount: + description: 'AgentCount: Number of agents' + minimum: 0 + type: integer + agentVmSize: + description: 'AgentVmSize: Agent virtual machine size' + type: string + aksNetworkingConfiguration: + description: 'AksNetworkingConfiguration: AKS networking configuration for vnet' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + description: |- + DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP + ranges or the Kubernetes service address range. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + subnetReference: + description: 'SubnetReference: Virtual network subnet resource ID the compute nodes belong to' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + clusterFqdn: + description: 'ClusterFqdn: Cluster full qualified domain name' + type: string + clusterPurpose: + description: 'ClusterPurpose: Intended usage of the cluster' + enum: + - DenseProd + - DevTest + - FastProd + type: string + loadBalancerSubnetReference: + description: 'LoadBalancerSubnetReference: Load Balancer Subnet' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + loadBalancerType: + description: 'LoadBalancerType: Load Balancer Type' + enum: + - InternalLoadBalancer + - PublicIp + type: string + sslConfiguration: + description: 'SslConfiguration: SSL configuration' + properties: + cert: + description: 'Cert: Cert data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + cname: + description: 'Cname: CNAME of the cert' + type: string + key: + description: 'Key: Key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + leafDomainLabel: + description: 'LeafDomainLabel: Leaf domain label of public endpoint' + type: string + overwriteExistingDomain: + description: 'OverwriteExistingDomain: Indicates whether to overwrite existing domain label.' + type: boolean + status: + description: 'Status: Enable or disable ssl for scoring' + enum: + - Auto + - Disabled + - Enabled + type: string + type: object + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + amlCompute: + description: 'AmlCompute: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - AmlCompute + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of AmlCompute' + properties: + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + isolatedNetwork: + description: 'IsolatedNetwork: Network is isolated or not' + type: boolean + osType: + description: 'OsType: Compute OS Type' + enum: + - Linux + - Windows + type: string + propertyBag: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'PropertyBag: A property bag containing additional properties.' + type: object + remoteLoginPortPublicAccess: + description: |- + RemoteLoginPortPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh + port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the + cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, + else is open all public nodes. It can be default only during cluster creation time, after creation it will be either + enabled or disabled. + enum: + - Disabled + - Enabled + - NotSpecified + type: string + scaleSettings: + description: 'ScaleSettings: Scale settings for AML Compute' + properties: + maxNodeCount: + description: 'MaxNodeCount: Max number of nodes to use' + type: integer + minNodeCount: + description: 'MinNodeCount: Min number of nodes to use' + type: integer + nodeIdleTimeBeforeScaleDown: + description: 'NodeIdleTimeBeforeScaleDown: Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.' + type: string + required: + - maxNodeCount + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + userAccountCredentials: + description: 'UserAccountCredentials: Credentials for an administrator user account that will be created on each compute node.' + properties: + adminUserName: + description: 'AdminUserName: Name of the administrator user account which can be used to SSH to nodes.' + type: string + adminUserPassword: + description: 'AdminUserPassword: Password of the administrator user account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUserSshPublicKey: + description: 'AdminUserSshPublicKey: SSH public key of the administrator user account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - adminUserName + type: object + virtualMachineImage: + description: 'VirtualMachineImage: Virtual Machine image for AML Compute - windows only' + properties: + reference: + description: 'Reference: Virtual Machine image path' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmPriority: + description: 'VmPriority: Virtual Machine priority' + enum: + - Dedicated + - LowPriority + type: string + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + computeInstance: + description: 'ComputeInstance: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - ComputeInstance + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of ComputeInstance' + properties: + applicationSharingPolicy: + description: |- + ApplicationSharingPolicy: Policy for sharing applications on this compute instance among users of parent workspace. If + Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access + applications on this instance depending on his/her assigned role. + enum: + - Personal + - Shared + type: string + computeInstanceAuthorizationType: + description: 'ComputeInstanceAuthorizationType: The Compute Instance Authorization type. Available values are personal (default).' + enum: + - personal + type: string + customServices: + description: 'CustomServices: List of Custom Services added to the compute.' + items: + description: Specifies the custom service configuration + properties: + docker: + description: 'Docker: Describes the docker settings for the image' + properties: + privileged: + description: 'Privileged: Indicate whether container shall run in privileged or non-privileged mode.' + type: boolean + type: object + endpoints: + description: 'Endpoints: Configuring the endpoints for the container' + items: + description: Describes the endpoint configuration for the container + properties: + hostIp: + description: 'HostIp: Host IP over which the application is exposed from the container' + type: string + name: + description: 'Name: Name of the Endpoint' + type: string + protocol: + description: 'Protocol: Protocol over which communication will happen over this endpoint' + enum: + - http + - tcp + - udp + type: string + published: + description: 'Published: Port over which the application is exposed from container.' + type: integer + target: + description: 'Target: Application port inside the container.' + type: integer + type: object + type: array + environmentVariables: + additionalProperties: + description: Environment Variables for the container + properties: + type: + description: 'Type: Type of the Environment Variable. Possible values are: local - For local variable' + enum: + - local + type: string + value: + description: 'Value: Value of the Environment variable' + type: string + type: object + description: 'EnvironmentVariables: Environment Variable for the container' + type: object + image: + description: 'Image: Describes the Image Specifications' + properties: + reference: + description: 'Reference: Image reference' + type: string + type: + description: 'Type: Type of the image. Possible values are: docker - For docker images. azureml - For AzureML images' + enum: + - azureml + - docker + type: string + type: object + name: + description: 'Name: Name of the Custom Service' + type: string + volumes: + description: 'Volumes: Configuring the volumes for the container' + items: + description: Describes the volume configuration for the container + properties: + bind: + description: 'Bind: Bind Options of the mount' + properties: + createHostPath: + description: 'CreateHostPath: Indicate whether to create host path.' + type: boolean + propagation: + description: 'Propagation: Type of Bind Option' + type: string + selinux: + description: 'Selinux: Mention the selinux options.' + type: string + type: object + consistency: + description: 'Consistency: Consistency of the volume' + type: string + readOnly: + description: 'ReadOnly: Indicate whether to mount volume as readOnly. Default value for this is false.' + type: boolean + source: + description: 'Source: Source of the mount. For bind mounts this is the host path.' + type: string + target: + description: 'Target: Target of the mount. For bind mounts this is the path in the container.' + type: string + tmpfs: + description: 'Tmpfs: tmpfs option of the mount' + properties: + size: + description: 'Size: Mention the Tmpfs size' + type: integer + type: object + type: + description: 'Type: Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe' + enum: + - bind + - npipe + - tmpfs + - volume + type: string + volume: + description: 'Volume: Volume Options of the mount' + properties: + nocopy: + description: 'Nocopy: Indicate whether volume is nocopy' + type: boolean + type: object + type: object + type: array + type: object + type: array + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + personalComputeInstanceSettings: + description: 'PersonalComputeInstanceSettings: Settings for a personal compute instance.' + properties: + assignedUser: + description: 'AssignedUser: A user explicitly assigned to a personal compute instance.' + properties: + objectId: + description: 'ObjectId: User’s AAD Object Id.' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: User’s AAD Object Id.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: User’s AAD Tenant Id.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: User’s AAD Tenant Id.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + schedules: + description: 'Schedules: The list of schedules to be applied on the computes.' + properties: + computeStartStop: + description: 'ComputeStartStop: The list of compute start stop schedules to be applied.' + items: + description: Compute start stop schedule properties + properties: + action: + description: 'Action: [Required] The compute power action.' + enum: + - Start + - Stop + type: string + cron: + description: 'Cron: Required if triggerType is Cron.' + properties: + expression: + description: |- + Expression: [Required] Specifies cron expression of schedule. + The expression should follow NCronTab format. + type: string + startTime: + description: 'StartTime: The start time in yyyy-MM-ddTHH:mm:ss format.' + type: string + timeZone: + description: |- + TimeZone: Specifies time zone in which the schedule runs. + TimeZone should follow Windows time zone format. Refer: + https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11 + type: string + type: object + recurrence: + description: 'Recurrence: Required if triggerType is Recurrence.' + properties: + frequency: + description: 'Frequency: [Required] The frequency to trigger schedule.' + enum: + - Day + - Hour + - Minute + - Month + - Week + type: string + interval: + description: 'Interval: [Required] Specifies schedule interval in conjunction with frequency' + type: integer + schedule: + description: 'Schedule: [Required] The recurrence schedule.' + properties: + hours: + description: 'Hours: [Required] List of hours for the schedule.' + items: + type: integer + type: array + minutes: + description: 'Minutes: [Required] List of minutes for the schedule.' + items: + type: integer + type: array + monthDays: + description: 'MonthDays: List of month days for the schedule' + items: + type: integer + type: array + weekDays: + description: 'WeekDays: List of days for the schedule.' + items: + description: Enum of weekday + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + type: array + required: + - hours + - minutes + type: object + startTime: + description: 'StartTime: The start time in yyyy-MM-ddTHH:mm:ss format.' + type: string + timeZone: + description: |- + TimeZone: Specifies time zone in which the schedule runs. + TimeZone should follow Windows time zone format. Refer: + https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11 + type: string + type: object + schedule: + description: 'Schedule: [Deprecated] Not used any more.' + properties: + provisioningStatus: + description: 'ProvisioningStatus: The current deployment state of schedule.' + enum: + - Completed + - Failed + - Provisioning + type: string + reference: + description: 'Reference: A system assigned id for the schedule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + status: + description: 'Status: Is the schedule enabled or disabled?' + enum: + - Disabled + - Enabled + type: string + type: object + status: + description: 'Status: Is the schedule enabled or disabled?' + enum: + - Disabled + - Enabled + type: string + triggerType: + description: 'TriggerType: [Required] The schedule trigger type.' + enum: + - Cron + - Recurrence + type: string + type: object + type: array + type: object + setupScripts: + description: 'SetupScripts: Details of customized scripts to execute for setting up the cluster.' + properties: + scripts: + description: 'Scripts: Customized setup scripts' + properties: + creationScript: + description: 'CreationScript: Script that''s run only once during provision of the compute.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + startupScript: + description: 'StartupScript: Script that''s run every time the machine starts.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + type: object + type: object + sshSettings: + description: 'SshSettings: Specifies policy and settings for SSH access.' + properties: + adminPublicKey: + description: |- + AdminPublicKey: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH + key pairs. + type: string + sshPublicAccess: + description: |- + SshPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is + closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the + VNet/subnet policy if applicable. + enum: + - Disabled + - Enabled + type: string + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + dataFactory: + description: 'DataFactory: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - DataFactory + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + dataLakeAnalytics: + description: 'DataLakeAnalytics: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - DataLakeAnalytics + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + dataLakeStoreAccountName: + description: 'DataLakeStoreAccountName: DataLake Store Account Name' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + databricks: + description: 'Databricks: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - Databricks + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of Databricks' + properties: + databricksAccessToken: + description: 'DatabricksAccessToken: Databricks access token' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceUrl: + description: 'WorkspaceUrl: Workspace Url' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + hdInsight: + description: 'HDInsight: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - HDInsight + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: HDInsight compute properties' + properties: + address: + description: 'Address: Public IP address of the master node of the cluster.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for master node of the cluster' + properties: + password: + description: 'Password: Password of admin account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: 'PrivateKeyData: Private key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: 'PublicKeyData: Public key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + description: 'Username: Username of admin account' + type: string + type: object + sshPort: + description: 'SshPort: Port open for ssh connections on the master node of the cluster.' + type: integer + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + kubernetes: + description: 'Kubernetes: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - Kubernetes + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + description: 'Properties: Properties of Kubernetes' + properties: + defaultInstanceType: + description: 'DefaultInstanceType: Default instance type' + type: string + extensionInstanceReleaseTrain: + description: 'ExtensionInstanceReleaseTrain: Extension instance release train.' + type: string + extensionPrincipalId: + description: 'ExtensionPrincipalId: Extension principal-id.' + type: string + extensionPrincipalIdFromConfig: + description: 'ExtensionPrincipalIdFromConfig: Extension principal-id.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + instanceTypes: + additionalProperties: + description: Instance type schema. + properties: + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: Node Selector' + type: object + resources: + description: 'Resources: Resource requests/limits for this instance type' + properties: + limits: + additionalProperties: + type: string + description: 'Limits: Resource limits for this instance type' + type: object + requests: + additionalProperties: + type: string + description: 'Requests: Resource requests for this instance type' + type: object + type: object + type: object + description: 'InstanceTypes: Instance Type Schema' + type: object + namespace: + description: 'Namespace: Compute namespace' + type: string + relayConnectionString: + description: 'RelayConnectionString: Relay connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serviceBusConnectionString: + description: 'ServiceBusConnectionString: ServiceBus connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vcName: + description: 'VcName: VC name.' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + synapseSpark: + description: 'SynapseSpark: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - SynapseSpark + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + autoPauseProperties: + description: 'AutoPauseProperties: Auto pause properties.' + properties: + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: 'AutoScaleProperties: Auto scale properties.' + properties: + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + description: 'NodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + nodeSize: + description: 'NodeSize: Node size.' + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: Node size family.' + type: string + poolName: + description: 'PoolName: Pool name.' + type: string + resourceGroup: + description: 'ResourceGroup: Name of the resource group in which workspace is located.' + type: string + sparkVersion: + description: 'SparkVersion: Spark version.' + type: string + subscriptionId: + description: 'SubscriptionId: Azure subscription identifier.' + type: string + workspaceName: + description: 'WorkspaceName: Name of Azure Machine Learning workspace.' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + virtualMachine: + description: 'VirtualMachine: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + enum: + - VirtualMachine + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + properties: + properties: + address: + description: 'Address: Public IP address of the virtual machine.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for virtual machine' + properties: + password: + description: 'Password: Password of admin account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: 'PrivateKeyData: Private key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: 'PublicKeyData: Public key data' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + description: 'Username: Username of admin account' + type: string + type: object + isNotebookInstanceCompute: + description: 'IsNotebookInstanceCompute: Indicates whether this compute will be used for running notebooks.' + type: boolean + notebookServerPort: + description: 'NotebookServerPort: Notebook server port open for ssh connections.' + type: integer + sshPort: + description: 'SshPort: Port open for ssh connections.' + type: integer + virtualMachineSize: + description: 'VirtualMachineSize: Virtual Machine size' + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - computeType + type: object + type: object + sku: + description: 'Sku: The sku of the workspace.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: Specifies the location of the resource.' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Compute properties' + properties: + aks: + description: 'AKS: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: AKS properties' + properties: + agentCount: + description: 'AgentCount: Number of agents' + type: integer + agentVmSize: + description: 'AgentVmSize: Agent virtual machine size' + type: string + aksNetworkingConfiguration: + description: 'AksNetworkingConfiguration: AKS networking configuration for vnet' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + dockerBridgeCidr: + description: |- + DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP + ranges or the Kubernetes service address range. + type: string + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + subnetId: + description: 'SubnetId: Virtual network subnet resource ID the compute nodes belong to' + type: string + type: object + clusterFqdn: + description: 'ClusterFqdn: Cluster full qualified domain name' + type: string + clusterPurpose: + description: 'ClusterPurpose: Intended usage of the cluster' + type: string + loadBalancerSubnet: + description: 'LoadBalancerSubnet: Load Balancer Subnet' + type: string + loadBalancerType: + description: 'LoadBalancerType: Load Balancer Type' + type: string + sslConfiguration: + description: 'SslConfiguration: SSL configuration' + properties: + cname: + description: 'Cname: CNAME of the cert' + type: string + leafDomainLabel: + description: 'LeafDomainLabel: Leaf domain label of public endpoint' + type: string + overwriteExistingDomain: + description: 'OverwriteExistingDomain: Indicates whether to overwrite existing domain label.' + type: boolean + status: + description: 'Status: Enable or disable ssl for scoring' + type: string + type: object + systemServices: + description: 'SystemServices: System services' + items: + description: A system service running on a compute. + properties: + publicIpAddress: + description: 'PublicIpAddress: Public IP address' + type: string + systemServiceType: + description: 'SystemServiceType: The type of this system service.' + type: string + version: + description: 'Version: The version for this type.' + type: string + type: object + type: array + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + amlCompute: + description: 'AmlCompute: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of AmlCompute' + properties: + allocationState: + description: |- + AllocationState: Allocation state of the compute. Possible values are: steady - Indicates that the compute is not + resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state + when it is created and when no operations are being performed on the compute to change the number of compute nodes. + resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute. + type: string + allocationStateTransitionTime: + description: 'AllocationStateTransitionTime: The time at which the compute entered its current allocation state.' + type: string + currentNodeCount: + description: 'CurrentNodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + errors: + description: 'Errors: Collection of errors encountered by various compute nodes during node setup.' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + isolatedNetwork: + description: 'IsolatedNetwork: Network is isolated or not' + type: boolean + nodeStateCounts: + description: 'NodeStateCounts: Counts of various node states on the compute.' + properties: + idleNodeCount: + description: 'IdleNodeCount: Number of compute nodes in idle state.' + type: integer + leavingNodeCount: + description: 'LeavingNodeCount: Number of compute nodes which are leaving the amlCompute.' + type: integer + preemptedNodeCount: + description: 'PreemptedNodeCount: Number of compute nodes which are in preempted state.' + type: integer + preparingNodeCount: + description: 'PreparingNodeCount: Number of compute nodes which are being prepared.' + type: integer + runningNodeCount: + description: 'RunningNodeCount: Number of compute nodes which are running jobs.' + type: integer + unusableNodeCount: + description: 'UnusableNodeCount: Number of compute nodes which are in unusable state.' + type: integer + type: object + osType: + description: 'OsType: Compute OS Type' + type: string + propertyBag: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'PropertyBag: A property bag containing additional properties.' + type: object + remoteLoginPortPublicAccess: + description: |- + RemoteLoginPortPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh + port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the + cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, + else is open all public nodes. It can be default only during cluster creation time, after creation it will be either + enabled or disabled. + type: string + scaleSettings: + description: 'ScaleSettings: Scale settings for AML Compute' + properties: + maxNodeCount: + description: 'MaxNodeCount: Max number of nodes to use' + type: integer + minNodeCount: + description: 'MinNodeCount: Min number of nodes to use' + type: integer + nodeIdleTimeBeforeScaleDown: + description: 'NodeIdleTimeBeforeScaleDown: Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format.' + type: string + type: object + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + id: + description: 'Id: The ID of the resource' + type: string + type: object + targetNodeCount: + description: |- + TargetNodeCount: The target number of compute nodes for the compute. If the allocationState is resizing, this property + denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes + the target node count for the previous resize operation. + type: integer + userAccountCredentials: + description: 'UserAccountCredentials: Credentials for an administrator user account that will be created on each compute node.' + properties: + adminUserName: + description: 'AdminUserName: Name of the administrator user account which can be used to SSH to nodes.' + type: string + type: object + virtualMachineImage: + description: 'VirtualMachineImage: Virtual Machine image for AML Compute - windows only' + properties: + id: + description: 'Id: Virtual Machine image path' + type: string + type: object + vmPriority: + description: 'VmPriority: Virtual Machine priority' + type: string + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + computeInstance: + description: 'ComputeInstance: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of ComputeInstance' + properties: + applicationSharingPolicy: + description: |- + ApplicationSharingPolicy: Policy for sharing applications on this compute instance among users of parent workspace. If + Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access + applications on this instance depending on his/her assigned role. + type: string + applications: + description: 'Applications: Describes available applications and their endpoints on this ComputeInstance.' + items: + description: Defines an Aml Instance application and its connectivity endpoint URI. + properties: + displayName: + description: 'DisplayName: Name of the ComputeInstance application.' + type: string + endpointUri: + description: 'EndpointUri: Application'' endpoint URI.' + type: string + type: object + type: array + computeInstanceAuthorizationType: + description: 'ComputeInstanceAuthorizationType: The Compute Instance Authorization type. Available values are personal (default).' + type: string + connectivityEndpoints: + description: 'ConnectivityEndpoints: Describes all connectivity endpoints available for this ComputeInstance.' + properties: + privateIpAddress: + description: |- + PrivateIpAddress: Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is + deployed). + type: string + publicIpAddress: + description: 'PublicIpAddress: Public IP Address of this ComputeInstance.' + type: string + type: object + containers: + description: 'Containers: Describes informations of containers on this ComputeInstance.' + items: + description: Defines an Aml Instance container. + properties: + autosave: + description: 'Autosave: Auto save settings.' + type: string + environment: + description: 'Environment: Environment information of this container.' + properties: + name: + description: 'Name: name of environment.' + type: string + version: + description: 'Version: version of environment.' + type: string + type: object + gpu: + description: 'Gpu: Information of GPU.' + type: string + name: + description: 'Name: Name of the ComputeInstance container.' + type: string + network: + description: 'Network: network of this container.' + type: string + services: + description: 'Services: services of this containers.' + items: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + type: object + type: array + createdBy: + description: 'CreatedBy: Describes information on user who created this ComputeInstance.' + properties: + userId: + description: 'UserId: Uniquely identifies the user within his/her organization.' + type: string + userName: + description: 'UserName: Name of the user.' + type: string + userOrgId: + description: 'UserOrgId: Uniquely identifies user'' Azure Active Directory organization.' + type: string + type: object + customServices: + description: 'CustomServices: List of Custom Services added to the compute.' + items: + description: Specifies the custom service configuration + properties: + docker: + description: 'Docker: Describes the docker settings for the image' + properties: + privileged: + description: 'Privileged: Indicate whether container shall run in privileged or non-privileged mode.' + type: boolean + type: object + endpoints: + description: 'Endpoints: Configuring the endpoints for the container' + items: + description: Describes the endpoint configuration for the container + properties: + hostIp: + description: 'HostIp: Host IP over which the application is exposed from the container' + type: string + name: + description: 'Name: Name of the Endpoint' + type: string + protocol: + description: 'Protocol: Protocol over which communication will happen over this endpoint' + type: string + published: + description: 'Published: Port over which the application is exposed from container.' + type: integer + target: + description: 'Target: Application port inside the container.' + type: integer + type: object + type: array + environmentVariables: + additionalProperties: + description: Environment Variables for the container + properties: + type: + description: 'Type: Type of the Environment Variable. Possible values are: local - For local variable' + type: string + value: + description: 'Value: Value of the Environment variable' + type: string + type: object + description: 'EnvironmentVariables: Environment Variable for the container' + type: object + image: + description: 'Image: Describes the Image Specifications' + properties: + reference: + description: 'Reference: Image reference' + type: string + type: + description: 'Type: Type of the image. Possible values are: docker - For docker images. azureml - For AzureML images' + type: string + type: object + name: + description: 'Name: Name of the Custom Service' + type: string + volumes: + description: 'Volumes: Configuring the volumes for the container' + items: + description: Describes the volume configuration for the container + properties: + bind: + description: 'Bind: Bind Options of the mount' + properties: + createHostPath: + description: 'CreateHostPath: Indicate whether to create host path.' + type: boolean + propagation: + description: 'Propagation: Type of Bind Option' + type: string + selinux: + description: 'Selinux: Mention the selinux options.' + type: string + type: object + consistency: + description: 'Consistency: Consistency of the volume' + type: string + readOnly: + description: 'ReadOnly: Indicate whether to mount volume as readOnly. Default value for this is false.' + type: boolean + source: + description: 'Source: Source of the mount. For bind mounts this is the host path.' + type: string + target: + description: 'Target: Target of the mount. For bind mounts this is the path in the container.' + type: string + tmpfs: + description: 'Tmpfs: tmpfs option of the mount' + properties: + size: + description: 'Size: Mention the Tmpfs size' + type: integer + type: object + type: + description: 'Type: Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe' + type: string + volume: + description: 'Volume: Volume Options of the mount' + properties: + nocopy: + description: 'Nocopy: Indicate whether volume is nocopy' + type: boolean + type: object + type: object + type: array + type: object + type: array + dataDisks: + description: 'DataDisks: Describes informations of dataDisks on this ComputeInstance.' + items: + description: Defines an Aml Instance DataDisk. + properties: + caching: + description: 'Caching: Caching type of Data Disk.' + type: string + diskSizeGB: + description: 'DiskSizeGB: The initial disk size in gigabytes.' + type: integer + lun: + description: 'Lun: The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun.' + type: integer + storageAccountType: + description: 'StorageAccountType: type of this storage account.' + type: string + type: object + type: array + dataMounts: + description: 'DataMounts: Describes informations of dataMounts on this ComputeInstance.' + items: + description: Defines an Aml Instance DataMount. + properties: + createdBy: + description: 'CreatedBy: who this data mount created by.' + type: string + error: + description: 'Error: Error of this data mount.' + type: string + mountAction: + description: 'MountAction: Mount Action.' + type: string + mountName: + description: 'MountName: name of the ComputeInstance data mount.' + type: string + mountPath: + description: 'MountPath: Path of this data mount.' + type: string + mountState: + description: 'MountState: Mount state.' + type: string + mountedOn: + description: 'MountedOn: The time when the disk mounted.' + type: string + source: + description: 'Source: Source of the ComputeInstance data mount.' + type: string + sourceType: + description: 'SourceType: Data source type.' + type: string + type: object + type: array + enableNodePublicIp: + description: |- + EnableNodePublicIp: Enable or disable node public IP address provisioning. Possible values are: Possible values are: + true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will + have a private endpoint and no public IPs. + type: boolean + errors: + description: 'Errors: Collection of errors encountered on this ComputeInstance.' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + lastOperation: + description: 'LastOperation: The last operation on ComputeInstance.' + properties: + operationName: + description: 'OperationName: Name of the last operation.' + type: string + operationStatus: + description: 'OperationStatus: Operation status.' + type: string + operationTime: + description: 'OperationTime: Time of the last operation.' + type: string + operationTrigger: + description: 'OperationTrigger: Trigger of operation.' + type: string + type: object + osImageMetadata: + description: 'OsImageMetadata: Returns metadata about the operating system image for this compute instance.' + properties: + currentImageVersion: + description: 'CurrentImageVersion: Specifies the current operating system image version this compute instance is running on.' + type: string + isLatestOsImageVersion: + description: 'IsLatestOsImageVersion: Specifies whether this compute instance is running on the latest operating system image.' + type: boolean + latestImageVersion: + description: 'LatestImageVersion: Specifies the latest available operating system image version.' + type: string + type: object + personalComputeInstanceSettings: + description: 'PersonalComputeInstanceSettings: Settings for a personal compute instance.' + properties: + assignedUser: + description: 'AssignedUser: A user explicitly assigned to a personal compute instance.' + properties: + objectId: + description: 'ObjectId: User’s AAD Object Id.' + type: string + tenantId: + description: 'TenantId: User’s AAD Tenant Id.' + type: string + type: object + type: object + schedules: + description: 'Schedules: The list of schedules to be applied on the computes.' + properties: + computeStartStop: + description: 'ComputeStartStop: The list of compute start stop schedules to be applied.' + items: + description: Compute start stop schedule properties + properties: + action: + description: 'Action: [Required] The compute power action.' + type: string + cron: + description: 'Cron: Required if triggerType is Cron.' + properties: + expression: + description: |- + Expression: [Required] Specifies cron expression of schedule. + The expression should follow NCronTab format. + type: string + startTime: + description: 'StartTime: The start time in yyyy-MM-ddTHH:mm:ss format.' + type: string + timeZone: + description: |- + TimeZone: Specifies time zone in which the schedule runs. + TimeZone should follow Windows time zone format. Refer: + https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11 + type: string + type: object + id: + description: 'Id: A system assigned id for the schedule.' + type: string + provisioningStatus: + description: 'ProvisioningStatus: The current deployment state of schedule.' + type: string + recurrence: + description: 'Recurrence: Required if triggerType is Recurrence.' + properties: + frequency: + description: 'Frequency: [Required] The frequency to trigger schedule.' + type: string + interval: + description: 'Interval: [Required] Specifies schedule interval in conjunction with frequency' + type: integer + schedule: + description: 'Schedule: [Required] The recurrence schedule.' + properties: + hours: + description: 'Hours: [Required] List of hours for the schedule.' + items: + type: integer + type: array + minutes: + description: 'Minutes: [Required] List of minutes for the schedule.' + items: + type: integer + type: array + monthDays: + description: 'MonthDays: List of month days for the schedule' + items: + type: integer + type: array + weekDays: + description: 'WeekDays: List of days for the schedule.' + items: + description: Enum of weekday + type: string + type: array + type: object + startTime: + description: 'StartTime: The start time in yyyy-MM-ddTHH:mm:ss format.' + type: string + timeZone: + description: |- + TimeZone: Specifies time zone in which the schedule runs. + TimeZone should follow Windows time zone format. Refer: + https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11 + type: string + type: object + schedule: + description: 'Schedule: [Deprecated] Not used any more.' + properties: + id: + description: 'Id: A system assigned id for the schedule.' + type: string + provisioningStatus: + description: 'ProvisioningStatus: The current deployment state of schedule.' + type: string + status: + description: 'Status: Is the schedule enabled or disabled?' + type: string + type: object + status: + description: 'Status: Is the schedule enabled or disabled?' + type: string + triggerType: + description: 'TriggerType: [Required] The schedule trigger type.' + type: string + type: object + type: array + type: object + setupScripts: + description: 'SetupScripts: Details of customized scripts to execute for setting up the cluster.' + properties: + scripts: + description: 'Scripts: Customized setup scripts' + properties: + creationScript: + description: 'CreationScript: Script that''s run only once during provision of the compute.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + startupScript: + description: 'StartupScript: Script that''s run every time the machine starts.' + properties: + scriptArguments: + description: 'ScriptArguments: Optional command line arguments passed to the script to run.' + type: string + scriptData: + description: 'ScriptData: The location of scripts in the mounted volume.' + type: string + scriptSource: + description: 'ScriptSource: The storage source of the script: workspace.' + type: string + timeout: + description: 'Timeout: Optional time period passed to timeout command.' + type: string + type: object + type: object + type: object + sshSettings: + description: 'SshSettings: Specifies policy and settings for SSH access.' + properties: + adminPublicKey: + description: |- + AdminPublicKey: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t rsa -b 2048" to generate your SSH + key pairs. + type: string + adminUserName: + description: 'AdminUserName: Describes the admin user name.' + type: string + sshPort: + description: 'SshPort: Describes the port for connecting through SSH.' + type: integer + sshPublicAccess: + description: |- + SshPublicAccess: State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is + closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the + VNet/subnet policy if applicable. + type: string + type: object + state: + description: 'State: The current state of this ComputeInstance.' + type: string + subnet: + description: 'Subnet: Virtual network subnet resource ID the compute nodes belong to.' + properties: + id: + description: 'Id: The ID of the resource' + type: string + type: object + versions: + description: 'Versions: ComputeInstance version.' + properties: + runtime: + description: 'Runtime: Runtime of compute instance.' + type: string + type: object + vmSize: + description: 'VmSize: Virtual Machine Size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + dataFactory: + description: 'DataFactory: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + dataLakeAnalytics: + description: 'DataLakeAnalytics: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + dataLakeStoreAccountName: + description: 'DataLakeStoreAccountName: DataLake Store Account Name' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + databricks: + description: 'Databricks: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of Databricks' + properties: + workspaceUrl: + description: 'WorkspaceUrl: Workspace Url' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + hdInsight: + description: 'HDInsight: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: HDInsight compute properties' + properties: + address: + description: 'Address: Public IP address of the master node of the cluster.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for master node of the cluster' + properties: + username: + description: 'Username: Username of admin account' + type: string + type: object + sshPort: + description: 'SshPort: Port open for ssh connections on the master node of the cluster.' + type: integer + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + kubernetes: + description: 'Kubernetes: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + description: 'Properties: Properties of Kubernetes' + properties: + defaultInstanceType: + description: 'DefaultInstanceType: Default instance type' + type: string + extensionInstanceReleaseTrain: + description: 'ExtensionInstanceReleaseTrain: Extension instance release train.' + type: string + extensionPrincipalId: + description: 'ExtensionPrincipalId: Extension principal-id.' + type: string + instanceTypes: + additionalProperties: + description: Instance type schema. + properties: + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: Node Selector' + type: object + resources: + description: 'Resources: Resource requests/limits for this instance type' + properties: + limits: + additionalProperties: + type: string + description: 'Limits: Resource limits for this instance type' + type: object + requests: + additionalProperties: + type: string + description: 'Requests: Resource requests for this instance type' + type: object + type: object + type: object + description: 'InstanceTypes: Instance Type Schema' + type: object + namespace: + description: 'Namespace: Compute namespace' + type: string + vcName: + description: 'VcName: VC name.' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + synapseSpark: + description: 'SynapseSpark: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + autoPauseProperties: + description: 'AutoPauseProperties: Auto pause properties.' + properties: + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: 'AutoScaleProperties: Auto scale properties.' + properties: + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + description: 'NodeCount: The number of compute nodes currently assigned to the compute.' + type: integer + nodeSize: + description: 'NodeSize: Node size.' + type: string + nodeSizeFamily: + description: 'NodeSizeFamily: Node size family.' + type: string + poolName: + description: 'PoolName: Pool name.' + type: string + resourceGroup: + description: 'ResourceGroup: Name of the resource group in which workspace is located.' + type: string + sparkVersion: + description: 'SparkVersion: Spark version.' + type: string + subscriptionId: + description: 'SubscriptionId: Azure subscription identifier.' + type: string + workspaceName: + description: 'WorkspaceName: Name of Azure Machine Learning workspace.' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + virtualMachine: + description: 'VirtualMachine: Mutually exclusive with all other properties' + properties: + computeLocation: + description: 'ComputeLocation: Location for the underlying compute' + type: string + computeType: + description: 'ComputeType: The type of compute' + type: string + createdOn: + description: 'CreatedOn: The time at which the compute was created.' + type: string + description: + description: 'Description: The description of the Machine Learning compute.' + type: string + disableLocalAuth: + description: |- + DisableLocalAuth: Opt-out of local authentication and ensure customers can use only MSI and AAD exclusively for + authentication. + type: boolean + isAttachedCompute: + description: |- + IsAttachedCompute: Indicating whether the compute was provisioned by user and brought from outside if true, or machine + learning service provisioned it if false. + type: boolean + modifiedOn: + description: 'ModifiedOn: The time at which the compute was last modified.' + type: string + properties: + properties: + address: + description: 'Address: Public IP address of the virtual machine.' + type: string + administratorAccount: + description: 'AdministratorAccount: Admin credentials for virtual machine' + properties: + username: + description: 'Username: Username of admin account' + type: string + type: object + isNotebookInstanceCompute: + description: 'IsNotebookInstanceCompute: Indicates whether this compute will be used for running notebooks.' + type: boolean + notebookServerPort: + description: 'NotebookServerPort: Notebook server port open for ssh connections.' + type: integer + sshPort: + description: 'SshPort: Port open for ssh connections.' + type: integer + virtualMachineSize: + description: 'VirtualMachineSize: Virtual Machine size' + type: string + type: object + provisioningErrors: + description: 'ProvisioningErrors: Errors during provisioning' + items: + description: |- + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + error: + description: 'Error: The error object.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: object + type: array + provisioningState: + description: |- + ProvisioningState: The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and + Failed. + type: string + resourceId: + description: 'ResourceId: ARM resource id of the underlying compute' + type: string + type: object + type: object + sku: + description: 'Sku: The sku of the workspace.' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Contains resource tags defined as key/value pairs.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240401.WorkspacesCompute + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240401.WorkspacesCompute_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240401.WorkspacesComputeOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20240401.Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aks: + description: Storage version of v1api20240401.AKS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20240401.AKS_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentCount: + type: integer + agentVmSize: + type: string + aksNetworkingConfiguration: + description: |- + Storage version of v1api20240401.AksNetworkingConfiguration + Advance configuration for AKS networking + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + serviceCidr: + type: string + subnetReference: + description: 'SubnetReference: Virtual network subnet resource ID the compute nodes belong to' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + clusterFqdn: + type: string + clusterPurpose: + type: string + loadBalancerSubnetReference: + description: 'LoadBalancerSubnetReference: Load Balancer Subnet' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + loadBalancerType: + type: string + sslConfiguration: + description: |- + Storage version of v1api20240401.SslConfiguration + The ssl configuration for scoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + cname: + type: string + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + leafDomainLabel: + type: string + overwriteExistingDomain: + type: boolean + status: + type: string + type: object + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + amlCompute: + description: Storage version of v1api20240401.AmlCompute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20240401.AmlComputeProperties + AML Compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableNodePublicIp: + type: boolean + isolatedNetwork: + type: boolean + osType: + type: string + propertyBag: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + remoteLoginPortPublicAccess: + type: string + scaleSettings: + description: |- + Storage version of v1api20240401.ScaleSettings + scale settings for AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeCount: + type: integer + minNodeCount: + type: integer + nodeIdleTimeBeforeScaleDown: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240401.ResourceId + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + userAccountCredentials: + description: |- + Storage version of v1api20240401.UserAccountCredentials + Settings for user account that gets created on each on the nodes of a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserName: + type: string + adminUserPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUserSshPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + virtualMachineImage: + description: |- + Storage version of v1api20240401.VirtualMachineImage + Virtual Machine image for Windows AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Virtual Machine image path' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmPriority: + type: string + vmSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + computeInstance: + description: Storage version of v1api20240401.ComputeInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20240401.ComputeInstanceProperties + Compute Instance properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSharingPolicy: + type: string + computeInstanceAuthorizationType: + type: string + customServices: + items: + description: |- + Storage version of v1api20240401.CustomService + Specifies the custom service configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + docker: + description: |- + Storage version of v1api20240401.Docker + Docker container configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privileged: + type: boolean + type: object + endpoints: + items: + description: |- + Storage version of v1api20240401.Endpoint + Describes the endpoint configuration for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostIp: + type: string + name: + type: string + protocol: + type: string + published: + type: integer + target: + type: integer + type: object + type: array + environmentVariables: + additionalProperties: + description: |- + Storage version of v1api20240401.EnvironmentVariable + Environment Variables for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + value: + type: string + type: object + type: object + image: + description: |- + Storage version of v1api20240401.Image + Describes the Image Specifications + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + type: string + type: + type: string + type: object + name: + type: string + volumes: + items: + description: |- + Storage version of v1api20240401.VolumeDefinition + Describes the volume configuration for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bind: + description: |- + Storage version of v1api20240401.BindOptions + Describes the bind options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createHostPath: + type: boolean + propagation: + type: string + selinux: + type: string + type: object + consistency: + type: string + readOnly: + type: boolean + source: + type: string + target: + type: string + tmpfs: + description: |- + Storage version of v1api20240401.TmpfsOptions + Describes the tmpfs options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: integer + type: object + type: + type: string + volume: + description: |- + Storage version of v1api20240401.VolumeOptions + Describes the volume options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nocopy: + type: boolean + type: object + type: object + type: array + type: object + type: array + enableNodePublicIp: + type: boolean + personalComputeInstanceSettings: + description: |- + Storage version of v1api20240401.PersonalComputeInstanceSettings + Settings for a personal compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedUser: + description: |- + Storage version of v1api20240401.AssignedUser + A user that can be assigned to a compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + schedules: + description: |- + Storage version of v1api20240401.ComputeSchedules + The list of schedules to be applied on the computes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeStartStop: + items: + description: |- + Storage version of v1api20240401.ComputeStartStopSchedule + Compute start stop schedule properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + cron: + description: |- + Storage version of v1api20240401.Cron + The workflow trigger cron for ComputeStartStop schedule type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expression: + type: string + startTime: + type: string + timeZone: + type: string + type: object + recurrence: + description: |- + Storage version of v1api20240401.Recurrence + The workflow trigger recurrence for ComputeStartStop schedule type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + interval: + type: integer + schedule: + description: Storage version of v1api20240401.ComputeRecurrenceSchedule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + monthDays: + items: + type: integer + type: array + weekDays: + items: + type: string + type: array + type: object + startTime: + type: string + timeZone: + type: string + type: object + schedule: + description: Storage version of v1api20240401.ScheduleBase + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisioningStatus: + type: string + reference: + description: 'Reference: A system assigned id for the schedule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + status: + type: string + type: object + status: + type: string + triggerType: + type: string + type: object + type: array + type: object + setupScripts: + description: |- + Storage version of v1api20240401.SetupScripts + Details of customized scripts to execute for setting up the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scripts: + description: |- + Storage version of v1api20240401.ScriptsToExecute + Customized setup scripts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + creationScript: + description: |- + Storage version of v1api20240401.ScriptReference + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + startupScript: + description: |- + Storage version of v1api20240401.ScriptReference + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + type: object + type: object + sshSettings: + description: |- + Storage version of v1api20240401.ComputeInstanceSshSettings + Specifies policy and settings for SSH access. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPublicKey: + type: string + sshPublicAccess: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240401.ResourceId + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The ID of the resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + vmSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dataFactory: + description: Storage version of v1api20240401.DataFactory + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + dataLakeAnalytics: + description: Storage version of v1api20240401.DataLakeAnalytics + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20240401.DataLakeAnalytics_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataLakeStoreAccountName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + databricks: + description: Storage version of v1api20240401.Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20240401.DatabricksProperties + Properties of Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databricksAccessToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceUrl: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hdInsight: + description: Storage version of v1api20240401.HDInsight + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20240401.HDInsightProperties + HDInsight compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20240401.VirtualMachineSshCredentials + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + sshPort: + type: integer + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kubernetes: + description: Storage version of v1api20240401.Kubernetes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: |- + Storage version of v1api20240401.KubernetesProperties + Kubernetes properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultInstanceType: + type: string + extensionInstanceReleaseTrain: + type: string + extensionPrincipalId: + type: string + extensionPrincipalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + instanceTypes: + additionalProperties: + description: |- + Storage version of v1api20240401.InstanceTypeSchema + Instance type schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeSelector: + additionalProperties: + type: string + type: object + resources: + description: Storage version of v1api20240401.InstanceTypeSchema_Resources + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + type: object + type: object + type: object + type: object + namespace: + type: string + relayConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serviceBusConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vcName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + synapseSpark: + description: Storage version of v1api20240401.SynapseSpark + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20240401.SynapseSpark_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseProperties: + description: |- + Storage version of v1api20240401.AutoPauseProperties + Auto pause properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: |- + Storage version of v1api20240401.AutoScaleProperties + Auto scale properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + poolName: + type: string + resourceGroup: + type: string + sparkVersion: + type: string + subscriptionId: + type: string + workspaceName: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualMachine: + description: Storage version of v1api20240401.VirtualMachine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + description: + type: string + disableLocalAuth: + type: boolean + properties: + description: Storage version of v1api20240401.VirtualMachine_Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20240401.VirtualMachineSshCredentials + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publicKeyData: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + isNotebookInstanceCompute: + type: boolean + notebookServerPort: + type: integer + sshPort: + type: integer + virtualMachineSize: + type: string + type: object + resourceReference: + description: 'ResourceReference: ARM resource id of the underlying compute' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + sku: + description: |- + Storage version of v1api20240401.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240401.WorkspacesCompute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20240401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: Storage version of v1api20240401.Compute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aks: + description: Storage version of v1api20240401.AKS_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20240401.AKS_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + agentCount: + type: integer + agentVmSize: + type: string + aksNetworkingConfiguration: + description: |- + Storage version of v1api20240401.AksNetworkingConfiguration_STATUS + Advance configuration for AKS networking + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + serviceCidr: + type: string + subnetId: + type: string + type: object + clusterFqdn: + type: string + clusterPurpose: + type: string + loadBalancerSubnet: + type: string + loadBalancerType: + type: string + sslConfiguration: + description: |- + Storage version of v1api20240401.SslConfiguration_STATUS + The ssl configuration for scoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + leafDomainLabel: + type: string + overwriteExistingDomain: + type: boolean + status: + type: string + type: object + systemServices: + items: + description: |- + Storage version of v1api20240401.SystemService_STATUS + A system service running on a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIpAddress: + type: string + systemServiceType: + type: string + version: + type: string + type: object + type: array + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + amlCompute: + description: Storage version of v1api20240401.AmlCompute_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20240401.AmlComputeProperties_STATUS + AML Compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocationState: + type: string + allocationStateTransitionTime: + type: string + currentNodeCount: + type: integer + enableNodePublicIp: + type: boolean + errors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + isolatedNetwork: + type: boolean + nodeStateCounts: + description: |- + Storage version of v1api20240401.NodeStateCounts_STATUS + Counts of various compute node states on the amlCompute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + idleNodeCount: + type: integer + leavingNodeCount: + type: integer + preemptedNodeCount: + type: integer + preparingNodeCount: + type: integer + runningNodeCount: + type: integer + unusableNodeCount: + type: integer + type: object + osType: + type: string + propertyBag: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + remoteLoginPortPublicAccess: + type: string + scaleSettings: + description: |- + Storage version of v1api20240401.ScaleSettings_STATUS + scale settings for AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxNodeCount: + type: integer + minNodeCount: + type: integer + nodeIdleTimeBeforeScaleDown: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240401.ResourceId_STATUS + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + targetNodeCount: + type: integer + userAccountCredentials: + description: |- + Storage version of v1api20240401.UserAccountCredentials_STATUS + Settings for user account that gets created on each on the nodes of a compute. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUserName: + type: string + type: object + virtualMachineImage: + description: |- + Storage version of v1api20240401.VirtualMachineImage_STATUS + Virtual Machine image for Windows AML Compute + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + vmPriority: + type: string + vmSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + computeInstance: + description: Storage version of v1api20240401.ComputeInstance_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20240401.ComputeInstanceProperties_STATUS + Compute Instance properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSharingPolicy: + type: string + applications: + items: + description: |- + Storage version of v1api20240401.ComputeInstanceApplication_STATUS + Defines an Aml Instance application and its connectivity endpoint URI. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + displayName: + type: string + endpointUri: + type: string + type: object + type: array + computeInstanceAuthorizationType: + type: string + connectivityEndpoints: + description: |- + Storage version of v1api20240401.ComputeInstanceConnectivityEndpoints_STATUS + Defines all connectivity endpoints and properties for an ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIpAddress: + type: string + publicIpAddress: + type: string + type: object + containers: + items: + description: |- + Storage version of v1api20240401.ComputeInstanceContainer_STATUS + Defines an Aml Instance container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autosave: + type: string + environment: + description: |- + Storage version of v1api20240401.ComputeInstanceEnvironmentInfo_STATUS + Environment information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + version: + type: string + type: object + gpu: + type: string + name: + type: string + network: + type: string + services: + items: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + type: object + type: array + createdBy: + description: |- + Storage version of v1api20240401.ComputeInstanceCreatedBy_STATUS + Describes information on user who created this ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userId: + type: string + userName: + type: string + userOrgId: + type: string + type: object + customServices: + items: + description: |- + Storage version of v1api20240401.CustomService_STATUS + Specifies the custom service configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + docker: + description: |- + Storage version of v1api20240401.Docker_STATUS + Docker container configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privileged: + type: boolean + type: object + endpoints: + items: + description: |- + Storage version of v1api20240401.Endpoint_STATUS + Describes the endpoint configuration for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostIp: + type: string + name: + type: string + protocol: + type: string + published: + type: integer + target: + type: integer + type: object + type: array + environmentVariables: + additionalProperties: + description: |- + Storage version of v1api20240401.EnvironmentVariable_STATUS + Environment Variables for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + value: + type: string + type: object + type: object + image: + description: |- + Storage version of v1api20240401.Image_STATUS + Describes the Image Specifications + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + type: string + type: + type: string + type: object + name: + type: string + volumes: + items: + description: |- + Storage version of v1api20240401.VolumeDefinition_STATUS + Describes the volume configuration for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bind: + description: |- + Storage version of v1api20240401.BindOptions_STATUS + Describes the bind options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createHostPath: + type: boolean + propagation: + type: string + selinux: + type: string + type: object + consistency: + type: string + readOnly: + type: boolean + source: + type: string + target: + type: string + tmpfs: + description: |- + Storage version of v1api20240401.TmpfsOptions_STATUS + Describes the tmpfs options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: integer + type: object + type: + type: string + volume: + description: |- + Storage version of v1api20240401.VolumeOptions_STATUS + Describes the volume options for the container + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nocopy: + type: boolean + type: object + type: object + type: array + type: object + type: array + dataDisks: + items: + description: |- + Storage version of v1api20240401.ComputeInstanceDataDisk_STATUS + Defines an Aml Instance DataDisk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caching: + type: string + diskSizeGB: + type: integer + lun: + type: integer + storageAccountType: + type: string + type: object + type: array + dataMounts: + items: + description: |- + Storage version of v1api20240401.ComputeInstanceDataMount_STATUS + Defines an Aml Instance DataMount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdBy: + type: string + error: + type: string + mountAction: + type: string + mountName: + type: string + mountPath: + type: string + mountState: + type: string + mountedOn: + type: string + source: + type: string + sourceType: + type: string + type: object + type: array + enableNodePublicIp: + type: boolean + errors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + lastOperation: + description: |- + Storage version of v1api20240401.ComputeInstanceLastOperation_STATUS + The last operation on ComputeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operationName: + type: string + operationStatus: + type: string + operationTime: + type: string + operationTrigger: + type: string + type: object + osImageMetadata: + description: |- + Storage version of v1api20240401.ImageMetadata_STATUS + Returns metadata about the operating system image for this compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentImageVersion: + type: string + isLatestOsImageVersion: + type: boolean + latestImageVersion: + type: string + type: object + personalComputeInstanceSettings: + description: |- + Storage version of v1api20240401.PersonalComputeInstanceSettings_STATUS + Settings for a personal compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + assignedUser: + description: |- + Storage version of v1api20240401.AssignedUser_STATUS + A user that can be assigned to a compute instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectId: + type: string + tenantId: + type: string + type: object + type: object + schedules: + description: |- + Storage version of v1api20240401.ComputeSchedules_STATUS + The list of schedules to be applied on the computes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeStartStop: + items: + description: |- + Storage version of v1api20240401.ComputeStartStopSchedule_STATUS + Compute start stop schedule properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + cron: + description: |- + Storage version of v1api20240401.Cron_STATUS + The workflow trigger cron for ComputeStartStop schedule type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expression: + type: string + startTime: + type: string + timeZone: + type: string + type: object + id: + type: string + provisioningStatus: + type: string + recurrence: + description: |- + Storage version of v1api20240401.Recurrence_STATUS + The workflow trigger recurrence for ComputeStartStop schedule type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + interval: + type: integer + schedule: + description: Storage version of v1api20240401.ComputeRecurrenceSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + monthDays: + items: + type: integer + type: array + weekDays: + items: + type: string + type: array + type: object + startTime: + type: string + timeZone: + type: string + type: object + schedule: + description: Storage version of v1api20240401.ScheduleBase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + provisioningStatus: + type: string + status: + type: string + type: object + status: + type: string + triggerType: + type: string + type: object + type: array + type: object + setupScripts: + description: |- + Storage version of v1api20240401.SetupScripts_STATUS + Details of customized scripts to execute for setting up the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scripts: + description: |- + Storage version of v1api20240401.ScriptsToExecute_STATUS + Customized setup scripts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + creationScript: + description: |- + Storage version of v1api20240401.ScriptReference_STATUS + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + startupScript: + description: |- + Storage version of v1api20240401.ScriptReference_STATUS + Script reference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scriptArguments: + type: string + scriptData: + type: string + scriptSource: + type: string + timeout: + type: string + type: object + type: object + type: object + sshSettings: + description: |- + Storage version of v1api20240401.ComputeInstanceSshSettings_STATUS + Specifies policy and settings for SSH access. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPublicKey: + type: string + adminUserName: + type: string + sshPort: + type: integer + sshPublicAccess: + type: string + type: object + state: + type: string + subnet: + description: |- + Storage version of v1api20240401.ResourceId_STATUS + Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + versions: + description: |- + Storage version of v1api20240401.ComputeInstanceVersion_STATUS + Version of computeInstance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + runtime: + type: string + type: object + vmSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + dataFactory: + description: Storage version of v1api20240401.DataFactory_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + dataLakeAnalytics: + description: Storage version of v1api20240401.DataLakeAnalytics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20240401.DataLakeAnalytics_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataLakeStoreAccountName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + databricks: + description: Storage version of v1api20240401.Databricks_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20240401.DatabricksProperties_STATUS + Properties of Databricks + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + workspaceUrl: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + hdInsight: + description: Storage version of v1api20240401.HDInsight_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20240401.HDInsightProperties_STATUS + HDInsight compute properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20240401.VirtualMachineSshCredentials_STATUS + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + username: + type: string + type: object + sshPort: + type: integer + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + kubernetes: + description: Storage version of v1api20240401.Kubernetes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: |- + Storage version of v1api20240401.KubernetesProperties_STATUS + Kubernetes properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultInstanceType: + type: string + extensionInstanceReleaseTrain: + type: string + extensionPrincipalId: + type: string + instanceTypes: + additionalProperties: + description: |- + Storage version of v1api20240401.InstanceTypeSchema_STATUS + Instance type schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeSelector: + additionalProperties: + type: string + type: object + resources: + description: Storage version of v1api20240401.InstanceTypeSchema_Resources_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + additionalProperties: + type: string + type: object + requests: + additionalProperties: + type: string + type: object + type: object + type: object + type: object + namespace: + type: string + vcName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + synapseSpark: + description: Storage version of v1api20240401.SynapseSpark_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20240401.SynapseSpark_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoPauseProperties: + description: |- + Storage version of v1api20240401.AutoPauseProperties_STATUS + Auto pause properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delayInMinutes: + type: integer + enabled: + type: boolean + type: object + autoScaleProperties: + description: |- + Storage version of v1api20240401.AutoScaleProperties_STATUS + Auto scale properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + maxNodeCount: + type: integer + minNodeCount: + type: integer + type: object + nodeCount: + type: integer + nodeSize: + type: string + nodeSizeFamily: + type: string + poolName: + type: string + resourceGroup: + type: string + sparkVersion: + type: string + subscriptionId: + type: string + workspaceName: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + virtualMachine: + description: Storage version of v1api20240401.VirtualMachine_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + computeLocation: + type: string + computeType: + type: string + createdOn: + type: string + description: + type: string + disableLocalAuth: + type: boolean + isAttachedCompute: + type: boolean + modifiedOn: + type: string + properties: + description: Storage version of v1api20240401.VirtualMachine_Properties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + administratorAccount: + description: |- + Storage version of v1api20240401.VirtualMachineSshCredentials_STATUS + Admin credentials for virtual machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + username: + type: string + type: object + isNotebookInstanceCompute: + type: boolean + notebookServerPort: + type: integer + sshPort: + type: integer + virtualMachineSize: + type: string + type: object + provisioningErrors: + items: + description: |- + Storage version of v1api20240401.ErrorResponse_STATUS + Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also + follows the OData error response format.). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20240401.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20240401.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20240401.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: array + provisioningState: + type: string + resourceId: + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20240401.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.18.0 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: workspacesconnections.machinelearningservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: machinelearningservices.azure.com + names: + categories: + - azure + - machinelearningservices + kind: WorkspacesConnection + listKind: WorkspacesConnectionList + plural: workspacesconnections + singular: workspacesconnection + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authType: + description: 'AuthType: Authorization type of the workspace connection.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + category: + description: 'Category: Category of the workspace connection.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + target: + description: 'Target: Target of the workspace connection.' + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - owner + type: object + status: + properties: + authType: + description: 'AuthType: Authorization type of the workspace connection.' + type: string + category: + description: 'Category: Category of the workspace connection.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: ResourceId of the workspace connection.' + type: string + name: + description: 'Name: Friendly name of the workspace connection.' + type: string + target: + description: 'Target: Target of the workspace connection.' + type: string + type: + description: 'Type: Resource type of workspace connection.' + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210701.WorkspacesConnection + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210701.WorkspacesConnection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + category: + type: string + operatorSpec: + description: |- + Storage version of v1api20210701.WorkspacesConnectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + target: + type: string + value: + type: string + valueFormat: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210701.WorkspacesConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + target: + type: string + type: + type: string + value: + type: string + valueFormat: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/workspaceRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + properties: + aad: + description: 'AAD: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - AAD + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + accessKey: + description: 'AccessKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - AccessKey + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + accessKeyId: + type: string + secretAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + accountKey: + description: 'AccountKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - AccountKey + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + apiKey: + description: 'ApiKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - ApiKey + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + description: 'Credentials: Api key object for workspace connection credential.' + properties: + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + customKeys: + description: 'CustomKeys: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - CustomKeys + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + description: 'Credentials: Custom Keys credential object' + properties: + keys: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + managedIdentity: + description: 'ManagedIdentity: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - ManagedIdentity + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + none: + description: 'None: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - None + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + oAuth2: + description: 'OAuth2: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - OAuth2 + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + description: |- + Credentials: ClientId and ClientSecret are required. Other properties are optional + depending on each OAuth2 provider's implementation. + properties: + authUrl: + description: 'AuthUrl: Required by Concur connection category' + pattern: ^https?://[^\s]+$ + type: string + clientId: + description: 'ClientId: Client id in the format of UUID' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: Client id in the format of UUID' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + developerToken: + description: 'DeveloperToken: Required by GoogleAdWords connection category' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + refreshToken: + description: |- + RefreshToken: Required by GoogleBigQuery, GoogleAdWords, Hubspot, QuickBooks, Square, Xero, Zoho + where user needs to get RefreshToken offline + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Required by QuickBooks and Xero connection categories' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Required by QuickBooks and Xero connection categories' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + description: |- + Username: Concur, ServiceNow auth server AccessToken grant type is 'Password' + which requires UsernamePassword + type: string + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + pat: + description: 'PAT: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - PAT + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + pat: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + sas: + description: 'SAS: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - SAS + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + sas: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + servicePrincipal: + description: 'ServicePrincipal: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - ServicePrincipal + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + usernamePassword: + description: 'UsernamePassword: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + enum: + - UsernamePassword + type: string + category: + description: 'Category: Category of the connection' + enum: + - ADLSGen2 + - AIServices + - AmazonMws + - AmazonRdsForOracle + - AmazonRdsForSqlServer + - AmazonRedshift + - AmazonS3Compatible + - ApiKey + - AzureBlob + - AzureDataExplorer + - AzureDatabricksDeltaLake + - AzureMariaDb + - AzureMySqlDb + - AzureOneLake + - AzureOpenAI + - AzurePostgresDb + - AzureSqlDb + - AzureSqlMi + - AzureSynapseAnalytics + - AzureTableStorage + - BingLLMSearch + - Cassandra + - CognitiveSearch + - CognitiveService + - Concur + - ContainerRegistry + - CosmosDb + - CosmosDbMongoDbApi + - Couchbase + - CustomKeys + - Db2 + - Drill + - Dynamics + - DynamicsAx + - DynamicsCrm + - Eloqua + - FileServer + - FtpServer + - GenericContainerRegistry + - GenericHttp + - GenericRest + - Git + - GoogleAdWords + - GoogleBigQuery + - GoogleCloudStorage + - Greenplum + - Hbase + - Hdfs + - Hive + - Hubspot + - Impala + - Informix + - Jira + - Magento + - MariaDb + - Marketo + - MicrosoftAccess + - MongoDbAtlas + - MongoDbV2 + - MySql + - Netezza + - ODataRest + - Odbc + - Office365 + - OpenAI + - Oracle + - OracleCloudStorage + - OracleServiceCloud + - PayPal + - Phoenix + - PostgreSql + - Presto + - PythonFeed + - QuickBooks + - Redis + - Responsys + - S3 + - Salesforce + - SalesforceMarketingCloud + - SalesforceServiceCloud + - SapBw + - SapCloudForCustomer + - SapEcc + - SapHana + - SapOpenHub + - SapTable + - Serp + - Serverless + - ServiceNow + - Sftp + - SharePointOnlineList + - Shopify + - Snowflake + - Spark + - SqlServer + - Square + - Sybase + - Teradata + - Vertica + - WebTable + - Xero + - Zoho + type: string + credentials: + properties: + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + securityToken: + description: 'SecurityToken: Optional, required by connections like SalesForce for extra security in addition to UsernamePassword' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + enum: + - JSON + type: string + required: + - authType + type: object + type: object + required: + - owner + - properties + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + properties: + aad: + description: 'AAD: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + accessKey: + description: 'AccessKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + properties: + accessKeyId: + type: string + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + accountKey: + description: 'AccountKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + apiKey: + description: 'ApiKey: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: 'Credentials: Api key object for workspace connection credential.' + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + customKeys: + description: 'CustomKeys: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: 'Credentials: Custom Keys credential object' + properties: + keys: + additionalProperties: + type: string + type: object + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + managedIdentity: + description: 'ManagedIdentity: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + properties: + clientId: + type: string + resourceId: + type: string + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + none: + description: 'None: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + oAuth2: + description: 'OAuth2: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: |- + Credentials: ClientId and ClientSecret are required. Other properties are optional + depending on each OAuth2 provider's implementation. + properties: + authUrl: + description: 'AuthUrl: Required by Concur connection category' + type: string + clientId: + description: 'ClientId: Client id in the format of UUID' + type: string + tenantId: + description: 'TenantId: Required by QuickBooks and Xero connection categories' + type: string + username: + description: |- + Username: Concur, ServiceNow auth server AccessToken grant type is 'Password' + which requires UsernamePassword + type: string + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + pat: + description: 'PAT: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + sas: + description: 'SAS: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + servicePrincipal: + description: 'ServicePrincipal: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + properties: + clientId: + type: string + tenantId: + type: string + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + usernamePassword: + description: 'UsernamePassword: Mutually exclusive with all other properties' + properties: + authType: + description: 'AuthType: Authentication type of the connection target' + type: string + category: + description: 'Category: Category of the connection' + type: string + createdByWorkspaceArmId: + type: string + credentials: + properties: + username: + type: string + type: object + expiryTime: + type: string + group: + description: 'Group: Group based on connection category' + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: Store user metadata for this connection' + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + description: 'Value: Value details of the workspace connection.' + type: string + valueFormat: + description: 'ValueFormat: format for the workspace connection value' + type: string + type: object + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240401.WorkspacesConnection + Generator information: + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/workspaceRP.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240401.WorkspacesConnection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240401.WorkspacesConnectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a machinelearningservices.azure.com/Workspace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20240401.WorkspaceConnectionPropertiesV2 + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad: + description: Storage version of v1api20240401.AADAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + accessKey: + description: Storage version of v1api20240401.AccessKeyAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionAccessKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeyId: + type: string + secretAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + accountKey: + description: Storage version of v1api20240401.AccountKeyAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionAccountKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + apiKey: + description: Storage version of v1api20240401.ApiKeyAuthWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: |- + Storage version of v1api20240401.WorkspaceConnectionApiKey + Api key object for workspace connection credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + customKeys: + description: Storage version of v1api20240401.CustomKeysWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: |- + Storage version of v1api20240401.CustomKeys + Custom Keys credential object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + managedIdentity: + description: Storage version of v1api20240401.ManagedIdentityAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionManagedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + none: + description: Storage version of v1api20240401.NoneAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + oAuth2: + description: Storage version of v1api20240401.OAuth2AuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: |- + Storage version of v1api20240401.WorkspaceConnectionOAuth2 + ClientId and ClientSecret are required. Other properties are optional + depending on each OAuth2 provider's + implementation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authUrl: + type: string + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + developerToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + refreshToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + pat: + description: Storage version of v1api20240401.PATAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionPersonalAccessToken + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + pat: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + sas: + description: Storage version of v1api20240401.SASAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionSharedAccessSignature + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sas: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + servicePrincipal: + description: Storage version of v1api20240401.ServicePrincipalAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionServicePrincipal + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + usernamePassword: + description: Storage version of v1api20240401.UsernamePasswordAuthTypeWorkspaceConnectionProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionUsernamePassword + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + securityToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + username: + type: string + type: object + expiryTime: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240401.WorkspacesConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: Storage version of v1api20240401.WorkspaceConnectionPropertiesV2_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad: + description: Storage version of v1api20240401.AADAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + accessKey: + description: Storage version of v1api20240401.AccessKeyAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionAccessKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeyId: + type: string + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + accountKey: + description: Storage version of v1api20240401.AccountKeyAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionAccountKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + apiKey: + description: Storage version of v1api20240401.ApiKeyAuthWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: |- + Storage version of v1api20240401.WorkspaceConnectionApiKey_STATUS + Api key object for workspace connection credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + customKeys: + description: Storage version of v1api20240401.CustomKeysWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: |- + Storage version of v1api20240401.CustomKeys_STATUS + Custom Keys credential object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + additionalProperties: + type: string + type: object + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + managedIdentity: + description: Storage version of v1api20240401.ManagedIdentityAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionManagedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + resourceId: + type: string + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + none: + description: Storage version of v1api20240401.NoneAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + oAuth2: + description: Storage version of v1api20240401.OAuth2AuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: |- + Storage version of v1api20240401.WorkspaceConnectionOAuth2_STATUS + ClientId and ClientSecret are required. Other properties are optional + depending on each OAuth2 provider's + implementation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authUrl: + type: string + clientId: + type: string + tenantId: + type: string + username: + type: string + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + pat: + description: Storage version of v1api20240401.PATAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionPersonalAccessToken_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + sas: + description: Storage version of v1api20240401.SASAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionSharedAccessSignature_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + servicePrincipal: + description: Storage version of v1api20240401.ServicePrincipalAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionServicePrincipal_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + tenantId: + type: string + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + usernamePassword: + description: Storage version of v1api20240401.UsernamePasswordAuthTypeWorkspaceConnectionProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authType: + type: string + category: + type: string + createdByWorkspaceArmId: + type: string + credentials: + description: Storage version of v1api20240401.WorkspaceConnectionUsernamePassword_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + username: + type: string + type: object + expiryTime: + type: string + group: + type: string + isSharedToAll: + type: boolean + metadata: + additionalProperties: + type: string + type: object + sharedUserList: + items: + type: string + type: array + target: + type: string + value: + type: string + valueFormat: + type: string + type: object + type: object + systemData: + description: |- + Storage version of v1api20240401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/download/v2.15.0-rev.60/azureserviceoperator_v2.15.0-rev.60.yaml b/download/v2.15.0-rev.60/azureserviceoperator_v2.15.0-rev.60.yaml new file mode 100644 index 00000000000..0bc91d423bd --- /dev/null +++ b/download/v2.15.0-rev.60/azureserviceoperator_v2.15.0-rev.60.yaml @@ -0,0 +1,21795 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: azureserviceoperator-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: azureserviceoperator-leader-election-role + namespace: azureserviceoperator-system +rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-manager-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + - customresourcedefinitions/status + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-reader-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-manager-role +rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups + - smartdetectoralertrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups/finalizers + - prometheusrulegroups/status + - smartdetectoralertrules/finalizers + - smartdetectoralertrules/status + verbs: + - get + - patch + - update + - apiGroups: + - apimanagement.azure.com + resources: + - apis + - apiversionsets + - authorizationproviders + - authorizationprovidersauthorizations + - authorizationprovidersauthorizationsaccesspolicies + - backends + - namedvalues + - policies + - policyfragments + - productapis + - productpolicies + - products + - services + - subscriptions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apimanagement.azure.com + resources: + - apis/finalizers + - apis/status + - apiversionsets/finalizers + - apiversionsets/status + - authorizationproviders/finalizers + - authorizationproviders/status + - authorizationprovidersauthorizations/finalizers + - authorizationprovidersauthorizations/status + - authorizationprovidersauthorizationsaccesspolicies/finalizers + - authorizationprovidersauthorizationsaccesspolicies/status + - backends/finalizers + - backends/status + - namedvalues/finalizers + - namedvalues/status + - policies/finalizers + - policies/status + - policyfragments/finalizers + - policyfragments/status + - productapis/finalizers + - productapis/status + - productpolicies/finalizers + - productpolicies/status + - products/finalizers + - products/status + - services/finalizers + - services/status + - subscriptions/finalizers + - subscriptions/status + verbs: + - get + - patch + - update + - apiGroups: + - app.azure.com + resources: + - authconfigs + - containerapps + - jobs + - managedenvironments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - app.azure.com + resources: + - authconfigs/finalizers + - authconfigs/status + - containerapps/finalizers + - containerapps/status + - jobs/finalizers + - jobs/status + - managedenvironments/finalizers + - managedenvironments/status + verbs: + - get + - patch + - update + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores/finalizers + - configurationstores/status + verbs: + - get + - patch + - update + - apiGroups: + - authorization.azure.com + resources: + - roleassignments + - roledefinitions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - authorization.azure.com + resources: + - roleassignments/finalizers + - roleassignments/status + - roledefinitions/finalizers + - roledefinitions/status + verbs: + - get + - patch + - update + - apiGroups: + - batch.azure.com + resources: + - batchaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - batch.azure.com + resources: + - batchaccounts/finalizers + - batchaccounts/status + verbs: + - get + - patch + - update + - apiGroups: + - cache.azure.com + resources: + - redis + - redisaccesspolicies + - redisaccesspolicyassignments + - redisenterprisedatabases + - redisenterprises + - redisfirewallrules + - redislinkedservers + - redispatchschedules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cache.azure.com + resources: + - redis/finalizers + - redis/status + - redisaccesspolicies/finalizers + - redisaccesspolicies/status + - redisaccesspolicyassignments/finalizers + - redisaccesspolicyassignments/status + - redisenterprisedatabases/finalizers + - redisenterprisedatabases/status + - redisenterprises/finalizers + - redisenterprises/status + - redisfirewallrules/finalizers + - redisfirewallrules/status + - redislinkedservers/finalizers + - redislinkedservers/status + - redispatchschedules/finalizers + - redispatchschedules/status + verbs: + - get + - patch + - update + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains + - afdendpoints + - afdorigingroups + - afdorigins + - profiles + - profilesendpoints + - routes + - rules + - rulesets + - secrets + - securitypolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains/finalizers + - afdcustomdomains/status + - afdendpoints/finalizers + - afdendpoints/status + - afdorigingroups/finalizers + - afdorigingroups/status + - afdorigins/finalizers + - afdorigins/status + - profiles/finalizers + - profiles/status + - profilesendpoints/finalizers + - profilesendpoints/status + - routes/finalizers + - routes/status + - rules/finalizers + - rules/status + - rulesets/finalizers + - rulesets/status + - secrets/finalizers + - secrets/status + - securitypolicies/finalizers + - securitypolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts/finalizers + - accounts/status + - deployments/finalizers + - deployments/status + verbs: + - get + - patch + - update + - apiGroups: + - compute.azure.com + resources: + - availabilitysets + - diskaccesses + - diskencryptionsets + - disks + - images + - snapshots + - virtualmachines + - virtualmachinescalesets + - virtualmachinescalesetsextensions + - virtualmachinesextensions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - compute.azure.com + resources: + - availabilitysets/finalizers + - availabilitysets/status + - diskaccesses/finalizers + - diskaccesses/status + - diskencryptionsets/finalizers + - diskencryptionsets/status + - disks/finalizers + - disks/status + - images/finalizers + - images/status + - snapshots/finalizers + - snapshots/status + - virtualmachines/finalizers + - virtualmachines/status + - virtualmachinescalesets/finalizers + - virtualmachinescalesets/status + - virtualmachinescalesetsextensions/finalizers + - virtualmachinescalesetsextensions/status + - virtualmachinesextensions/finalizers + - virtualmachinesextensions/status + verbs: + - get + - patch + - update + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups/finalizers + - containergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - containerregistry.azure.com + resources: + - registries + - registryreplications + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerregistry.azure.com + resources: + - registries/finalizers + - registries/status + - registryreplications/finalizers + - registryreplications/status + verbs: + - get + - patch + - update + - apiGroups: + - containerservice.azure.com + resources: + - fleets + - fleetsautoupgradeprofiles + - fleetsmembers + - fleetsupdateruns + - fleetsupdatestrategies + - maintenanceconfigurations + - managedclusters + - managedclustersagentpools + - trustedaccessrolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerservice.azure.com + resources: + - fleets/finalizers + - fleets/status + - fleetsautoupgradeprofiles/finalizers + - fleetsautoupgradeprofiles/status + - fleetsmembers/finalizers + - fleetsmembers/status + - fleetsupdateruns/finalizers + - fleetsupdateruns/status + - fleetsupdatestrategies/finalizers + - fleetsupdatestrategies/status + - maintenanceconfigurations/finalizers + - maintenanceconfigurations/status + - managedclusters/finalizers + - managedclusters/status + - managedclustersagentpools/finalizers + - managedclustersagentpools/status + - trustedaccessrolebindings/finalizers + - trustedaccessrolebindings/status + verbs: + - get + - patch + - update + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories/finalizers + - factories/status + verbs: + - get + - patch + - update + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults + - backupvaultsbackupinstances + - backupvaultsbackuppolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults/finalizers + - backupvaults/status + - backupvaultsbackupinstances/finalizers + - backupvaultsbackupinstances/status + - backupvaultsbackuppolicies/finalizers + - backupvaultsbackuppolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations + - databases + - servers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations/finalizers + - configurations/status + - databases/finalizers + - databases/status + - servers/finalizers + - servers/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers + - flexibleserversadministrators + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadministrators/finalizers + - flexibleserversadministrators/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers + - flexibleserversadvancedthreatprotectionsettings + - flexibleserversbackups + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - flexibleserversvirtualendpoints + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadvancedthreatprotectionsettings/finalizers + - flexibleserversadvancedthreatprotectionsettings/status + - flexibleserversbackups/finalizers + - flexibleserversbackups/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - flexibleserversvirtualendpoints/finalizers + - flexibleserversvirtualendpoints/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - devices.azure.com + resources: + - iothubs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - devices.azure.com + resources: + - iothubs/finalizers + - iothubs/status + verbs: + - get + - patch + - update + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts + - firewallrules + - mongoclusters + - mongodbdatabasecollections + - mongodbdatabasecollectionthroughputsettings + - mongodbdatabases + - mongodbdatabasethroughputsettings + - mongodbroledefinitions + - mongodbuserdefinitions + - sqldatabasecontainers + - sqldatabasecontainerstoredprocedures + - sqldatabasecontainerthroughputsettings + - sqldatabasecontainertriggers + - sqldatabasecontaineruserdefinedfunctions + - sqldatabases + - sqldatabasethroughputsettings + - sqlroleassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts/finalizers + - databaseaccounts/status + - firewallrules/finalizers + - firewallrules/status + - mongoclusters/finalizers + - mongoclusters/status + - mongodbdatabasecollections/finalizers + - mongodbdatabasecollections/status + - mongodbdatabasecollectionthroughputsettings/finalizers + - mongodbdatabasecollectionthroughputsettings/status + - mongodbdatabases/finalizers + - mongodbdatabases/status + - mongodbdatabasethroughputsettings/finalizers + - mongodbdatabasethroughputsettings/status + - mongodbroledefinitions/finalizers + - mongodbroledefinitions/status + - mongodbuserdefinitions/finalizers + - mongodbuserdefinitions/status + - sqldatabasecontainers/finalizers + - sqldatabasecontainers/status + - sqldatabasecontainerstoredprocedures/finalizers + - sqldatabasecontainerstoredprocedures/status + - sqldatabasecontainerthroughputsettings/finalizers + - sqldatabasecontainerthroughputsettings/status + - sqldatabasecontainertriggers/finalizers + - sqldatabasecontainertriggers/status + - sqldatabasecontaineruserdefinedfunctions/finalizers + - sqldatabasecontaineruserdefinedfunctions/status + - sqldatabases/finalizers + - sqldatabases/status + - sqldatabasethroughputsettings/finalizers + - sqldatabasethroughputsettings/status + - sqlroleassignments/finalizers + - sqlroleassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - entra.azure.com + resources: + - securitygroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - entra.azure.com + resources: + - securitygroups/status + - users/finalizers + verbs: + - get + - patch + - update + - apiGroups: + - eventgrid.azure.com + resources: + - domains + - domainstopics + - eventsubscriptions + - topics + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventgrid.azure.com + resources: + - domains/finalizers + - domains/status + - domainstopics/finalizers + - domainstopics/status + - eventsubscriptions/finalizers + - eventsubscriptions/status + - topics/finalizers + - topics/status + verbs: + - get + - patch + - update + - apiGroups: + - eventhub.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespaceseventhubs + - namespaceseventhubsauthorizationrules + - namespaceseventhubsconsumergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventhub.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespaceseventhubs/finalizers + - namespaceseventhubs/status + - namespaceseventhubsauthorizationrules/finalizers + - namespaceseventhubsauthorizationrules/status + - namespaceseventhubsconsumergroups/finalizers + - namespaceseventhubsconsumergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - insights.azure.com + resources: + - actiongroups + - activitylogalerts + - autoscalesettings + - components + - datacollectionendpoints + - datacollectionruleassociations + - datacollectionrules + - diagnosticsettings + - metricalerts + - pricingplans + - scheduledqueryrules + - webtests + - workbooks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - insights.azure.com + resources: + - actiongroups/finalizers + - actiongroups/status + - activitylogalerts/finalizers + - activitylogalerts/status + - autoscalesettings/finalizers + - autoscalesettings/status + - components/finalizers + - components/status + - datacollectionendpoints/finalizers + - datacollectionendpoints/status + - datacollectionruleassociations/finalizers + - datacollectionruleassociations/status + - datacollectionrules/finalizers + - datacollectionrules/status + - diagnosticsettings/finalizers + - diagnosticsettings/status + - metricalerts/finalizers + - metricalerts/status + - pricingplans/finalizers + - pricingplans/status + - scheduledqueryrules/finalizers + - scheduledqueryrules/status + - webtests/finalizers + - webtests/status + - workbooks/finalizers + - workbooks/status + verbs: + - get + - patch + - update + - apiGroups: + - keyvault.azure.com + resources: + - vaults + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - keyvault.azure.com + resources: + - vaults/finalizers + - vaults/status + verbs: + - get + - patch + - update + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions + - fluxconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions/finalizers + - extensions/status + - fluxconfigurations/finalizers + - fluxconfigurations/status + verbs: + - get + - patch + - update + - apiGroups: + - kusto.azure.com + resources: + - clusters + - databases + - dataconnections + - principalassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kusto.azure.com + resources: + - clusters/finalizers + - clusters/status + - databases/finalizers + - databases/status + - dataconnections/finalizers + - dataconnections/status + - principalassignments/finalizers + - principalassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries + - workspaces + - workspacescomputes + - workspacesconnections + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries/finalizers + - registries/status + - workspaces/finalizers + - workspaces/status + - workspacescomputes/finalizers + - workspacescomputes/status + - workspacesconnections/finalizers + - workspacesconnections/status + verbs: + - get + - patch + - update + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials + - userassignedidentities + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials/finalizers + - federatedidentitycredentials/status + - userassignedidentities/finalizers + - userassignedidentities/status + verbs: + - get + - patch + - update + - apiGroups: + - monitor.azure.com + resources: + - accounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - monitor.azure.com + resources: + - accounts/finalizers + - accounts/status + verbs: + - get + - patch + - update + - apiGroups: + - network.azure.com + resources: + - applicationgateways + - applicationsecuritygroups + - azurefirewalls + - bastionhosts + - dnsforwardingrulesets + - dnsforwardingrulesetsforwardingrules + - dnsforwardingrulesetsvirtualnetworklinks + - dnsresolvers + - dnsresolversinboundendpoints + - dnsresolversoutboundendpoints + - dnszones + - dnszonesaaaarecords + - dnszonesarecords + - dnszonescaarecords + - dnszonescnamerecords + - dnszonesmxrecords + - dnszonesnsrecords + - dnszonesptrrecords + - dnszonessrvrecords + - dnszonestxtrecords + - firewallpolicies + - firewallpoliciesrulecollectiongroups + - loadbalancers + - loadbalancersinboundnatrules + - natgateways + - networkinterfaces + - networksecuritygroups + - networksecuritygroupssecurityrules + - networkwatchers + - networkwatchersflowlogs + - privatednszones + - privatednszonesaaaarecords + - privatednszonesarecords + - privatednszonescnamerecords + - privatednszonesmxrecords + - privatednszonesptrrecords + - privatednszonessrvrecords + - privatednszonestxtrecords + - privatednszonesvirtualnetworklinks + - privateendpoints + - privateendpointsprivatednszonegroups + - privatelinkservices + - publicipaddresses + - publicipprefixes + - routetables + - routetablesroutes + - trafficmanagerprofiles + - trafficmanagerprofilesazureendpoints + - trafficmanagerprofilesexternalendpoints + - trafficmanagerprofilesnestedendpoints + - virtualnetworkgateways + - virtualnetworks + - virtualnetworkssubnets + - virtualnetworksvirtualnetworkpeerings + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.azure.com + resources: + - applicationgateways/finalizers + - applicationgateways/status + - applicationsecuritygroups/finalizers + - applicationsecuritygroups/status + - azurefirewalls/finalizers + - azurefirewalls/status + - bastionhosts/finalizers + - bastionhosts/status + - dnsforwardingrulesets/finalizers + - dnsforwardingrulesets/status + - dnsforwardingrulesetsforwardingrules/finalizers + - dnsforwardingrulesetsforwardingrules/status + - dnsforwardingrulesetsvirtualnetworklinks/finalizers + - dnsforwardingrulesetsvirtualnetworklinks/status + - dnsresolvers/finalizers + - dnsresolvers/status + - dnsresolversinboundendpoints/finalizers + - dnsresolversinboundendpoints/status + - dnsresolversoutboundendpoints/finalizers + - dnsresolversoutboundendpoints/status + - dnszones/finalizers + - dnszones/status + - dnszonesaaaarecords/finalizers + - dnszonesaaaarecords/status + - dnszonesarecords/finalizers + - dnszonesarecords/status + - dnszonescaarecords/finalizers + - dnszonescaarecords/status + - dnszonescnamerecords/finalizers + - dnszonescnamerecords/status + - dnszonesmxrecords/finalizers + - dnszonesmxrecords/status + - dnszonesnsrecords/finalizers + - dnszonesnsrecords/status + - dnszonesptrrecords/finalizers + - dnszonesptrrecords/status + - dnszonessrvrecords/finalizers + - dnszonessrvrecords/status + - dnszonestxtrecords/finalizers + - dnszonestxtrecords/status + - firewallpolicies/finalizers + - firewallpolicies/status + - firewallpoliciesrulecollectiongroups/finalizers + - firewallpoliciesrulecollectiongroups/status + - loadbalancers/finalizers + - loadbalancers/status + - loadbalancersinboundnatrules/finalizers + - loadbalancersinboundnatrules/status + - natgateways/finalizers + - natgateways/status + - networkinterfaces/finalizers + - networkinterfaces/status + - networksecuritygroups/finalizers + - networksecuritygroups/status + - networksecuritygroupssecurityrules/finalizers + - networksecuritygroupssecurityrules/status + - networkwatchers/finalizers + - networkwatchers/status + - networkwatchersflowlogs/finalizers + - networkwatchersflowlogs/status + - privatednszones/finalizers + - privatednszones/status + - privatednszonesaaaarecords/finalizers + - privatednszonesaaaarecords/status + - privatednszonesarecords/finalizers + - privatednszonesarecords/status + - privatednszonescnamerecords/finalizers + - privatednszonescnamerecords/status + - privatednszonesmxrecords/finalizers + - privatednszonesmxrecords/status + - privatednszonesptrrecords/finalizers + - privatednszonesptrrecords/status + - privatednszonessrvrecords/finalizers + - privatednszonessrvrecords/status + - privatednszonestxtrecords/finalizers + - privatednszonestxtrecords/status + - privatednszonesvirtualnetworklinks/finalizers + - privatednszonesvirtualnetworklinks/status + - privateendpoints/finalizers + - privateendpoints/status + - privateendpointsprivatednszonegroups/finalizers + - privateendpointsprivatednszonegroups/status + - privatelinkservices/finalizers + - privatelinkservices/status + - publicipaddresses/finalizers + - publicipaddresses/status + - publicipprefixes/finalizers + - publicipprefixes/status + - routetables/finalizers + - routetables/status + - routetablesroutes/finalizers + - routetablesroutes/status + - trafficmanagerprofiles/finalizers + - trafficmanagerprofiles/status + - trafficmanagerprofilesazureendpoints/finalizers + - trafficmanagerprofilesazureendpoints/status + - trafficmanagerprofilesexternalendpoints/finalizers + - trafficmanagerprofilesexternalendpoints/status + - trafficmanagerprofilesnestedendpoints/finalizers + - trafficmanagerprofilesnestedendpoints/status + - virtualnetworkgateways/finalizers + - virtualnetworkgateways/status + - virtualnetworks/finalizers + - virtualnetworks/status + - virtualnetworkssubnets/finalizers + - virtualnetworkssubnets/status + - virtualnetworksvirtualnetworkpeerings/finalizers + - virtualnetworksvirtualnetworkpeerings/status + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - notificationhubs + - notificationhubsauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - notificationhubs/finalizers + - notificationhubs/status + - notificationhubsauthorizationrules/finalizers + - notificationhubsauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces/finalizers + - workspaces/status + verbs: + - get + - patch + - update + - apiGroups: + - redhatopenshift.azure.com + resources: + - hcpopenshiftclusters + - hcpopenshiftclustersexternalauths + - hcpopenshiftclustersnodepools + - openshiftclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - redhatopenshift.azure.com + resources: + - hcpopenshiftclusters/finalizers + - hcpopenshiftclusters/status + - hcpopenshiftclustersexternalauths/finalizers + - hcpopenshiftclustersexternalauths/status + - hcpopenshiftclustersnodepools/finalizers + - hcpopenshiftclustersnodepools/status + - openshiftclusters/finalizers + - openshiftclusters/status + verbs: + - get + - patch + - update + - apiGroups: + - resources.azure.com + resources: + - resourcegroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - resources.azure.com + resources: + - resourcegroups/finalizers + - resourcegroups/status + verbs: + - get + - patch + - update + - apiGroups: + - search.azure.com + resources: + - searchservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - search.azure.com + resources: + - searchservices/finalizers + - searchservices/status + verbs: + - get + - patch + - update + - apiGroups: + - servicebus.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespacesqueues + - namespacestopics + - namespacestopicssubscriptions + - namespacestopicssubscriptionsrules + - topicauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - servicebus.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespacesqueues/finalizers + - namespacesqueues/status + - namespacestopics/finalizers + - namespacestopics/status + - namespacestopicssubscriptions/finalizers + - namespacestopicssubscriptions/status + - namespacestopicssubscriptionsrules/finalizers + - namespacestopicssubscriptionsrules/status + - topicauthorizationrules/finalizers + - topicauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates + - customdomains + - replicas + - signalrs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates/finalizers + - customcertificates/status + - customdomains/finalizers + - customdomains/status + - replicas/finalizers + - replicas/status + - signalrs/finalizers + - signalrs/status + verbs: + - get + - patch + - update + - apiGroups: + - sql.azure.com + resources: + - servers + - serversadministrators + - serversadvancedthreatprotectionsettings + - serversauditingsettings + - serversazureadonlyauthentications + - serversconnectionpolicies + - serversdatabases + - serversdatabasesadvancedthreatprotectionsettings + - serversdatabasesauditingsettings + - serversdatabasesbackuplongtermretentionpolicies + - serversdatabasesbackupshorttermretentionpolicies + - serversdatabasessecurityalertpolicies + - serversdatabasestransparentdataencryptions + - serversdatabasesvulnerabilityassessments + - serverselasticpools + - serversfailovergroups + - serversfirewallrules + - serversipv6firewallrules + - serversoutboundfirewallrules + - serverssecurityalertpolicies + - serversvirtualnetworkrules + - serversvulnerabilityassessments + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sql.azure.com + resources: + - servers/finalizers + - servers/status + - serversadministrators/finalizers + - serversadministrators/status + - serversadvancedthreatprotectionsettings/finalizers + - serversadvancedthreatprotectionsettings/status + - serversauditingsettings/finalizers + - serversauditingsettings/status + - serversazureadonlyauthentications/finalizers + - serversazureadonlyauthentications/status + - serversconnectionpolicies/finalizers + - serversconnectionpolicies/status + - serversdatabases/finalizers + - serversdatabases/status + - serversdatabasesadvancedthreatprotectionsettings/finalizers + - serversdatabasesadvancedthreatprotectionsettings/status + - serversdatabasesauditingsettings/finalizers + - serversdatabasesauditingsettings/status + - serversdatabasesbackuplongtermretentionpolicies/finalizers + - serversdatabasesbackuplongtermretentionpolicies/status + - serversdatabasesbackupshorttermretentionpolicies/finalizers + - serversdatabasesbackupshorttermretentionpolicies/status + - serversdatabasessecurityalertpolicies/finalizers + - serversdatabasessecurityalertpolicies/status + - serversdatabasestransparentdataencryptions/finalizers + - serversdatabasestransparentdataencryptions/status + - serversdatabasesvulnerabilityassessments/finalizers + - serversdatabasesvulnerabilityassessments/status + - serverselasticpools/finalizers + - serverselasticpools/status + - serversfailovergroups/finalizers + - serversfailovergroups/status + - serversfirewallrules/finalizers + - serversfirewallrules/status + - serversipv6firewallrules/finalizers + - serversipv6firewallrules/status + - serversoutboundfirewallrules/finalizers + - serversoutboundfirewallrules/status + - serverssecurityalertpolicies/finalizers + - serverssecurityalertpolicies/status + - serversvirtualnetworkrules/finalizers + - serversvirtualnetworkrules/status + - serversvulnerabilityassessments/finalizers + - serversvulnerabilityassessments/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - storage.azure.com + resources: + - storageaccounts + - storageaccountsblobservices + - storageaccountsblobservicescontainers + - storageaccountsfileservices + - storageaccountsfileservicesshares + - storageaccountsmanagementpolicies + - storageaccountsqueueservices + - storageaccountsqueueservicesqueues + - storageaccountstableservices + - storageaccountstableservicestables + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.azure.com + resources: + - storageaccounts/finalizers + - storageaccounts/status + - storageaccountsblobservices/finalizers + - storageaccountsblobservices/status + - storageaccountsblobservicescontainers/finalizers + - storageaccountsblobservicescontainers/status + - storageaccountsfileservices/finalizers + - storageaccountsfileservices/status + - storageaccountsfileservicesshares/finalizers + - storageaccountsfileservicesshares/status + - storageaccountsmanagementpolicies/finalizers + - storageaccountsmanagementpolicies/status + - storageaccountsqueueservices/finalizers + - storageaccountsqueueservices/status + - storageaccountsqueueservicesqueues/finalizers + - storageaccountsqueueservicesqueues/status + - storageaccountstableservices/finalizers + - storageaccountstableservices/status + - storageaccountstableservicestables/finalizers + - storageaccountstableservicestables/status + verbs: + - get + - patch + - update + - apiGroups: + - subscription.azure.com + resources: + - aliases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - subscription.azure.com + resources: + - aliases/finalizers + - aliases/status + verbs: + - get + - patch + - update + - apiGroups: + - synapse.azure.com + resources: + - workspaces + - workspacesbigdatapools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - synapse.azure.com + resources: + - workspaces/finalizers + - workspaces/status + - workspacesbigdatapools/finalizers + - workspacesbigdatapools/status + verbs: + - get + - patch + - update + - apiGroups: + - web.azure.com + resources: + - serverfarms + - sites + - sitessourcecontrols + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - web.azure.com + resources: + - serverfarms/finalizers + - serverfarms/status + - sites/finalizers + - sites/status + - sitessourcecontrols/finalizers + - sitessourcecontrols/status + verbs: + - get + - patch + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: azureserviceoperator-leader-election-rolebinding + namespace: azureserviceoperator-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: azureserviceoperator-leader-election-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-reader-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-reader-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + name: azureserviceoperator-controller-manager-metrics-service + namespace: azureserviceoperator-system +spec: + ports: + - name: metrics + port: 8443 + selector: + control-plane: controller-manager +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system +spec: + ports: + - port: 443 + targetPort: 9443 + selector: + control-plane: controller-manager +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + name: azureserviceoperator-controller-manager + namespace: azureserviceoperator-system +spec: + replicas: 2 + revisionHistoryLimit: 10 + selector: + matchLabels: + control-plane: controller-manager + strategy: + type: Recreate + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + spec: + containers: + - args: + - --metrics-addr=0.0.0.0:8443 + - --secure-metrics=true + - --profiling-metrics=false + - --health-addr=:8081 + - --enable-leader-election + - --v=2 + - --crd-pattern= + - --webhook-port=9443 + - --webhook-cert-dir=/tmp/k8s-webhook-server/serving-certs + env: + - name: GOMEMLIMIT + value: 400MiB + - name: AZURE_CLIENT_ID + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_ID + name: aso-controller-settings + - name: AZURE_CLIENT_SECRET + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_SECRET + name: aso-controller-settings + optional: true + - name: AZURE_TENANT_ID + valueFrom: + secretKeyRef: + key: AZURE_TENANT_ID + name: aso-controller-settings + - name: AZURE_ADDITIONAL_TENANTS + valueFrom: + secretKeyRef: + key: AZURE_ADDITIONAL_TENANTS + name: aso-controller-settings + optional: true + - name: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + valueFrom: + secretKeyRef: + key: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + name: aso-controller-settings + optional: true + - name: AZURE_SUBSCRIPTION_ID + valueFrom: + secretKeyRef: + key: AZURE_SUBSCRIPTION_ID + name: aso-controller-settings + - name: AZURE_CLIENT_CERTIFICATE + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE + name: aso-controller-settings + optional: true + - name: AZURE_CLIENT_CERTIFICATE_PASSWORD + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE_PASSWORD + name: aso-controller-settings + optional: true + - name: AZURE_AUTHORITY_HOST + valueFrom: + secretKeyRef: + key: AZURE_AUTHORITY_HOST + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_ENDPOINT + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_ENDPOINT + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_AUDIENCE + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_AUDIENCE + name: aso-controller-settings + optional: true + - name: AZURE_TARGET_NAMESPACES + valueFrom: + secretKeyRef: + key: AZURE_TARGET_NAMESPACES + name: aso-controller-settings + optional: true + - name: AZURE_OPERATOR_MODE + valueFrom: + secretKeyRef: + key: AZURE_OPERATOR_MODE + name: aso-controller-settings + optional: true + - name: AZURE_SYNC_PERIOD + valueFrom: + secretKeyRef: + key: AZURE_SYNC_PERIOD + name: aso-controller-settings + optional: true + - name: USE_WORKLOAD_IDENTITY_AUTH + valueFrom: + secretKeyRef: + key: USE_WORKLOAD_IDENTITY_AUTH + name: aso-controller-settings + optional: true + - name: AZURE_USER_AGENT_SUFFIX + valueFrom: + secretKeyRef: + key: AZURE_USER_AGENT_SUFFIX + name: aso-controller-settings + optional: true + - name: MAX_CONCURRENT_RECONCILES + valueFrom: + secretKeyRef: + key: MAX_CONCURRENT_RECONCILES + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_MODE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_MODE + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_QPS + valueFrom: + secretKeyRef: + key: RATE_LIMIT_QPS + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_BUCKET_SIZE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_BUCKET_SIZE + name: aso-controller-settings + optional: true + - name: DEFAULT_RECONCILE_POLICY + valueFrom: + secretKeyRef: + key: DEFAULT_RECONCILE_POLICY + name: aso-controller-settings + optional: true + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: mcr.microsoft.com/k8s/azureserviceoperator:v2.15.0-rev.60 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + name: manager + ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + - containerPort: 8081 + name: health-port + protocol: TCP + - containerPort: 8443 + name: metrics-port + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: 8081 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 200m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + startupProbe: + failureThreshold: 12 + httpGet: + path: /healthz + port: 8081 + periodSeconds: 10 + volumeMounts: + - mountPath: /var/run/secrets/tokens + name: azure-identity + readOnly: true + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: azureserviceoperator-default + terminationGracePeriodSeconds: 10 + volumes: + - name: cert + secret: + defaultMode: 420 + secretName: webhook-server-cert + - name: azure-identity + projected: + defaultMode: 420 + sources: + - serviceAccountToken: + audience: api://AzureADTokenExchange + expirationSeconds: 3600 + path: azure-identity +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + control-plane: controller-manager + name: azureserviceoperator-pdb + namespace: azureserviceoperator-system +spec: + minAvailable: 50% + selector: + matchLabels: + control-plane: controller-manager +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: azureserviceoperator-serving-cert + namespace: azureserviceoperator-system +spec: + dnsNames: + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc.cluster.local + issuerRef: + kind: Issuer + name: azureserviceoperator-selfsigned-issuer + secretName: webhook-server-cert + subject: + organizations: + - azure +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: azureserviceoperator-selfsigned-issuer + namespace: azureserviceoperator-system +spec: + selfSigned: {} +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-mutating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisaccesspolicies.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisaccesspolicyassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisaccesspolicyassignments.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicyassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsautoupgradeprofile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsautoupgradeprofiles.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsautoupgradeprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsupdatestrategy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsupdatestrategies.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdatestrategies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20241001-networkwatcher + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241001.networkwatchers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20241001-networkwatchersflowlog + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241001.networkwatchersflowlogs.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchersflowlogs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersexternalauths + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersnodepools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-validating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisaccesspolicies.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisaccesspolicyassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisaccesspolicyassignments.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicyassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsautoupgradeprofile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsautoupgradeprofiles.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsautoupgradeprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsupdatestrategy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsupdatestrategies.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdatestrategies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20241001-networkwatcher + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241001.networkwatchers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20241001-networkwatchersflowlog + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241001.networkwatchersflowlogs.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchersflowlogs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersexternalauths + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersnodepools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None diff --git a/download/v2.15.0-rev.60/multitenant-cluster_v2.15.0-rev.60.yaml b/download/v2.15.0-rev.60/multitenant-cluster_v2.15.0-rev.60.yaml new file mode 100644 index 00000000000..d3445ce2bbd --- /dev/null +++ b/download/v2.15.0-rev.60/multitenant-cluster_v2.15.0-rev.60.yaml @@ -0,0 +1,21633 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: azureserviceoperator-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: azureserviceoperator-leader-election-role + namespace: azureserviceoperator-system +rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-manager-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + - customresourcedefinitions/status + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-reader-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-manager-role +rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups + - smartdetectoralertrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups/finalizers + - prometheusrulegroups/status + - smartdetectoralertrules/finalizers + - smartdetectoralertrules/status + verbs: + - get + - patch + - update + - apiGroups: + - apimanagement.azure.com + resources: + - apis + - apiversionsets + - authorizationproviders + - authorizationprovidersauthorizations + - authorizationprovidersauthorizationsaccesspolicies + - backends + - namedvalues + - policies + - policyfragments + - productapis + - productpolicies + - products + - services + - subscriptions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apimanagement.azure.com + resources: + - apis/finalizers + - apis/status + - apiversionsets/finalizers + - apiversionsets/status + - authorizationproviders/finalizers + - authorizationproviders/status + - authorizationprovidersauthorizations/finalizers + - authorizationprovidersauthorizations/status + - authorizationprovidersauthorizationsaccesspolicies/finalizers + - authorizationprovidersauthorizationsaccesspolicies/status + - backends/finalizers + - backends/status + - namedvalues/finalizers + - namedvalues/status + - policies/finalizers + - policies/status + - policyfragments/finalizers + - policyfragments/status + - productapis/finalizers + - productapis/status + - productpolicies/finalizers + - productpolicies/status + - products/finalizers + - products/status + - services/finalizers + - services/status + - subscriptions/finalizers + - subscriptions/status + verbs: + - get + - patch + - update + - apiGroups: + - app.azure.com + resources: + - authconfigs + - containerapps + - jobs + - managedenvironments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - app.azure.com + resources: + - authconfigs/finalizers + - authconfigs/status + - containerapps/finalizers + - containerapps/status + - jobs/finalizers + - jobs/status + - managedenvironments/finalizers + - managedenvironments/status + verbs: + - get + - patch + - update + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores/finalizers + - configurationstores/status + verbs: + - get + - patch + - update + - apiGroups: + - authorization.azure.com + resources: + - roleassignments + - roledefinitions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - authorization.azure.com + resources: + - roleassignments/finalizers + - roleassignments/status + - roledefinitions/finalizers + - roledefinitions/status + verbs: + - get + - patch + - update + - apiGroups: + - batch.azure.com + resources: + - batchaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - batch.azure.com + resources: + - batchaccounts/finalizers + - batchaccounts/status + verbs: + - get + - patch + - update + - apiGroups: + - cache.azure.com + resources: + - redis + - redisaccesspolicies + - redisaccesspolicyassignments + - redisenterprisedatabases + - redisenterprises + - redisfirewallrules + - redislinkedservers + - redispatchschedules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cache.azure.com + resources: + - redis/finalizers + - redis/status + - redisaccesspolicies/finalizers + - redisaccesspolicies/status + - redisaccesspolicyassignments/finalizers + - redisaccesspolicyassignments/status + - redisenterprisedatabases/finalizers + - redisenterprisedatabases/status + - redisenterprises/finalizers + - redisenterprises/status + - redisfirewallrules/finalizers + - redisfirewallrules/status + - redislinkedservers/finalizers + - redislinkedservers/status + - redispatchschedules/finalizers + - redispatchschedules/status + verbs: + - get + - patch + - update + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains + - afdendpoints + - afdorigingroups + - afdorigins + - profiles + - profilesendpoints + - routes + - rules + - rulesets + - secrets + - securitypolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains/finalizers + - afdcustomdomains/status + - afdendpoints/finalizers + - afdendpoints/status + - afdorigingroups/finalizers + - afdorigingroups/status + - afdorigins/finalizers + - afdorigins/status + - profiles/finalizers + - profiles/status + - profilesendpoints/finalizers + - profilesendpoints/status + - routes/finalizers + - routes/status + - rules/finalizers + - rules/status + - rulesets/finalizers + - rulesets/status + - secrets/finalizers + - secrets/status + - securitypolicies/finalizers + - securitypolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts/finalizers + - accounts/status + - deployments/finalizers + - deployments/status + verbs: + - get + - patch + - update + - apiGroups: + - compute.azure.com + resources: + - availabilitysets + - diskaccesses + - diskencryptionsets + - disks + - images + - snapshots + - virtualmachines + - virtualmachinescalesets + - virtualmachinescalesetsextensions + - virtualmachinesextensions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - compute.azure.com + resources: + - availabilitysets/finalizers + - availabilitysets/status + - diskaccesses/finalizers + - diskaccesses/status + - diskencryptionsets/finalizers + - diskencryptionsets/status + - disks/finalizers + - disks/status + - images/finalizers + - images/status + - snapshots/finalizers + - snapshots/status + - virtualmachines/finalizers + - virtualmachines/status + - virtualmachinescalesets/finalizers + - virtualmachinescalesets/status + - virtualmachinescalesetsextensions/finalizers + - virtualmachinescalesetsextensions/status + - virtualmachinesextensions/finalizers + - virtualmachinesextensions/status + verbs: + - get + - patch + - update + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups/finalizers + - containergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - containerregistry.azure.com + resources: + - registries + - registryreplications + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerregistry.azure.com + resources: + - registries/finalizers + - registries/status + - registryreplications/finalizers + - registryreplications/status + verbs: + - get + - patch + - update + - apiGroups: + - containerservice.azure.com + resources: + - fleets + - fleetsautoupgradeprofiles + - fleetsmembers + - fleetsupdateruns + - fleetsupdatestrategies + - maintenanceconfigurations + - managedclusters + - managedclustersagentpools + - trustedaccessrolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerservice.azure.com + resources: + - fleets/finalizers + - fleets/status + - fleetsautoupgradeprofiles/finalizers + - fleetsautoupgradeprofiles/status + - fleetsmembers/finalizers + - fleetsmembers/status + - fleetsupdateruns/finalizers + - fleetsupdateruns/status + - fleetsupdatestrategies/finalizers + - fleetsupdatestrategies/status + - maintenanceconfigurations/finalizers + - maintenanceconfigurations/status + - managedclusters/finalizers + - managedclusters/status + - managedclustersagentpools/finalizers + - managedclustersagentpools/status + - trustedaccessrolebindings/finalizers + - trustedaccessrolebindings/status + verbs: + - get + - patch + - update + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories/finalizers + - factories/status + verbs: + - get + - patch + - update + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults + - backupvaultsbackupinstances + - backupvaultsbackuppolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults/finalizers + - backupvaults/status + - backupvaultsbackupinstances/finalizers + - backupvaultsbackupinstances/status + - backupvaultsbackuppolicies/finalizers + - backupvaultsbackuppolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations + - databases + - servers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations/finalizers + - configurations/status + - databases/finalizers + - databases/status + - servers/finalizers + - servers/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers + - flexibleserversadministrators + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadministrators/finalizers + - flexibleserversadministrators/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers + - flexibleserversadvancedthreatprotectionsettings + - flexibleserversbackups + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - flexibleserversvirtualendpoints + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadvancedthreatprotectionsettings/finalizers + - flexibleserversadvancedthreatprotectionsettings/status + - flexibleserversbackups/finalizers + - flexibleserversbackups/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - flexibleserversvirtualendpoints/finalizers + - flexibleserversvirtualendpoints/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - devices.azure.com + resources: + - iothubs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - devices.azure.com + resources: + - iothubs/finalizers + - iothubs/status + verbs: + - get + - patch + - update + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts + - firewallrules + - mongoclusters + - mongodbdatabasecollections + - mongodbdatabasecollectionthroughputsettings + - mongodbdatabases + - mongodbdatabasethroughputsettings + - mongodbroledefinitions + - mongodbuserdefinitions + - sqldatabasecontainers + - sqldatabasecontainerstoredprocedures + - sqldatabasecontainerthroughputsettings + - sqldatabasecontainertriggers + - sqldatabasecontaineruserdefinedfunctions + - sqldatabases + - sqldatabasethroughputsettings + - sqlroleassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts/finalizers + - databaseaccounts/status + - firewallrules/finalizers + - firewallrules/status + - mongoclusters/finalizers + - mongoclusters/status + - mongodbdatabasecollections/finalizers + - mongodbdatabasecollections/status + - mongodbdatabasecollectionthroughputsettings/finalizers + - mongodbdatabasecollectionthroughputsettings/status + - mongodbdatabases/finalizers + - mongodbdatabases/status + - mongodbdatabasethroughputsettings/finalizers + - mongodbdatabasethroughputsettings/status + - mongodbroledefinitions/finalizers + - mongodbroledefinitions/status + - mongodbuserdefinitions/finalizers + - mongodbuserdefinitions/status + - sqldatabasecontainers/finalizers + - sqldatabasecontainers/status + - sqldatabasecontainerstoredprocedures/finalizers + - sqldatabasecontainerstoredprocedures/status + - sqldatabasecontainerthroughputsettings/finalizers + - sqldatabasecontainerthroughputsettings/status + - sqldatabasecontainertriggers/finalizers + - sqldatabasecontainertriggers/status + - sqldatabasecontaineruserdefinedfunctions/finalizers + - sqldatabasecontaineruserdefinedfunctions/status + - sqldatabases/finalizers + - sqldatabases/status + - sqldatabasethroughputsettings/finalizers + - sqldatabasethroughputsettings/status + - sqlroleassignments/finalizers + - sqlroleassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - entra.azure.com + resources: + - securitygroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - entra.azure.com + resources: + - securitygroups/status + - users/finalizers + verbs: + - get + - patch + - update + - apiGroups: + - eventgrid.azure.com + resources: + - domains + - domainstopics + - eventsubscriptions + - topics + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventgrid.azure.com + resources: + - domains/finalizers + - domains/status + - domainstopics/finalizers + - domainstopics/status + - eventsubscriptions/finalizers + - eventsubscriptions/status + - topics/finalizers + - topics/status + verbs: + - get + - patch + - update + - apiGroups: + - eventhub.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespaceseventhubs + - namespaceseventhubsauthorizationrules + - namespaceseventhubsconsumergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventhub.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespaceseventhubs/finalizers + - namespaceseventhubs/status + - namespaceseventhubsauthorizationrules/finalizers + - namespaceseventhubsauthorizationrules/status + - namespaceseventhubsconsumergroups/finalizers + - namespaceseventhubsconsumergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - insights.azure.com + resources: + - actiongroups + - activitylogalerts + - autoscalesettings + - components + - datacollectionendpoints + - datacollectionruleassociations + - datacollectionrules + - diagnosticsettings + - metricalerts + - pricingplans + - scheduledqueryrules + - webtests + - workbooks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - insights.azure.com + resources: + - actiongroups/finalizers + - actiongroups/status + - activitylogalerts/finalizers + - activitylogalerts/status + - autoscalesettings/finalizers + - autoscalesettings/status + - components/finalizers + - components/status + - datacollectionendpoints/finalizers + - datacollectionendpoints/status + - datacollectionruleassociations/finalizers + - datacollectionruleassociations/status + - datacollectionrules/finalizers + - datacollectionrules/status + - diagnosticsettings/finalizers + - diagnosticsettings/status + - metricalerts/finalizers + - metricalerts/status + - pricingplans/finalizers + - pricingplans/status + - scheduledqueryrules/finalizers + - scheduledqueryrules/status + - webtests/finalizers + - webtests/status + - workbooks/finalizers + - workbooks/status + verbs: + - get + - patch + - update + - apiGroups: + - keyvault.azure.com + resources: + - vaults + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - keyvault.azure.com + resources: + - vaults/finalizers + - vaults/status + verbs: + - get + - patch + - update + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions + - fluxconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions/finalizers + - extensions/status + - fluxconfigurations/finalizers + - fluxconfigurations/status + verbs: + - get + - patch + - update + - apiGroups: + - kusto.azure.com + resources: + - clusters + - databases + - dataconnections + - principalassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kusto.azure.com + resources: + - clusters/finalizers + - clusters/status + - databases/finalizers + - databases/status + - dataconnections/finalizers + - dataconnections/status + - principalassignments/finalizers + - principalassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries + - workspaces + - workspacescomputes + - workspacesconnections + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries/finalizers + - registries/status + - workspaces/finalizers + - workspaces/status + - workspacescomputes/finalizers + - workspacescomputes/status + - workspacesconnections/finalizers + - workspacesconnections/status + verbs: + - get + - patch + - update + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials + - userassignedidentities + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials/finalizers + - federatedidentitycredentials/status + - userassignedidentities/finalizers + - userassignedidentities/status + verbs: + - get + - patch + - update + - apiGroups: + - monitor.azure.com + resources: + - accounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - monitor.azure.com + resources: + - accounts/finalizers + - accounts/status + verbs: + - get + - patch + - update + - apiGroups: + - network.azure.com + resources: + - applicationgateways + - applicationsecuritygroups + - azurefirewalls + - bastionhosts + - dnsforwardingrulesets + - dnsforwardingrulesetsforwardingrules + - dnsforwardingrulesetsvirtualnetworklinks + - dnsresolvers + - dnsresolversinboundendpoints + - dnsresolversoutboundendpoints + - dnszones + - dnszonesaaaarecords + - dnszonesarecords + - dnszonescaarecords + - dnszonescnamerecords + - dnszonesmxrecords + - dnszonesnsrecords + - dnszonesptrrecords + - dnszonessrvrecords + - dnszonestxtrecords + - firewallpolicies + - firewallpoliciesrulecollectiongroups + - loadbalancers + - loadbalancersinboundnatrules + - natgateways + - networkinterfaces + - networksecuritygroups + - networksecuritygroupssecurityrules + - networkwatchers + - networkwatchersflowlogs + - privatednszones + - privatednszonesaaaarecords + - privatednszonesarecords + - privatednszonescnamerecords + - privatednszonesmxrecords + - privatednszonesptrrecords + - privatednszonessrvrecords + - privatednszonestxtrecords + - privatednszonesvirtualnetworklinks + - privateendpoints + - privateendpointsprivatednszonegroups + - privatelinkservices + - publicipaddresses + - publicipprefixes + - routetables + - routetablesroutes + - trafficmanagerprofiles + - trafficmanagerprofilesazureendpoints + - trafficmanagerprofilesexternalendpoints + - trafficmanagerprofilesnestedendpoints + - virtualnetworkgateways + - virtualnetworks + - virtualnetworkssubnets + - virtualnetworksvirtualnetworkpeerings + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.azure.com + resources: + - applicationgateways/finalizers + - applicationgateways/status + - applicationsecuritygroups/finalizers + - applicationsecuritygroups/status + - azurefirewalls/finalizers + - azurefirewalls/status + - bastionhosts/finalizers + - bastionhosts/status + - dnsforwardingrulesets/finalizers + - dnsforwardingrulesets/status + - dnsforwardingrulesetsforwardingrules/finalizers + - dnsforwardingrulesetsforwardingrules/status + - dnsforwardingrulesetsvirtualnetworklinks/finalizers + - dnsforwardingrulesetsvirtualnetworklinks/status + - dnsresolvers/finalizers + - dnsresolvers/status + - dnsresolversinboundendpoints/finalizers + - dnsresolversinboundendpoints/status + - dnsresolversoutboundendpoints/finalizers + - dnsresolversoutboundendpoints/status + - dnszones/finalizers + - dnszones/status + - dnszonesaaaarecords/finalizers + - dnszonesaaaarecords/status + - dnszonesarecords/finalizers + - dnszonesarecords/status + - dnszonescaarecords/finalizers + - dnszonescaarecords/status + - dnszonescnamerecords/finalizers + - dnszonescnamerecords/status + - dnszonesmxrecords/finalizers + - dnszonesmxrecords/status + - dnszonesnsrecords/finalizers + - dnszonesnsrecords/status + - dnszonesptrrecords/finalizers + - dnszonesptrrecords/status + - dnszonessrvrecords/finalizers + - dnszonessrvrecords/status + - dnszonestxtrecords/finalizers + - dnszonestxtrecords/status + - firewallpolicies/finalizers + - firewallpolicies/status + - firewallpoliciesrulecollectiongroups/finalizers + - firewallpoliciesrulecollectiongroups/status + - loadbalancers/finalizers + - loadbalancers/status + - loadbalancersinboundnatrules/finalizers + - loadbalancersinboundnatrules/status + - natgateways/finalizers + - natgateways/status + - networkinterfaces/finalizers + - networkinterfaces/status + - networksecuritygroups/finalizers + - networksecuritygroups/status + - networksecuritygroupssecurityrules/finalizers + - networksecuritygroupssecurityrules/status + - networkwatchers/finalizers + - networkwatchers/status + - networkwatchersflowlogs/finalizers + - networkwatchersflowlogs/status + - privatednszones/finalizers + - privatednszones/status + - privatednszonesaaaarecords/finalizers + - privatednszonesaaaarecords/status + - privatednszonesarecords/finalizers + - privatednszonesarecords/status + - privatednszonescnamerecords/finalizers + - privatednszonescnamerecords/status + - privatednszonesmxrecords/finalizers + - privatednszonesmxrecords/status + - privatednszonesptrrecords/finalizers + - privatednszonesptrrecords/status + - privatednszonessrvrecords/finalizers + - privatednszonessrvrecords/status + - privatednszonestxtrecords/finalizers + - privatednszonestxtrecords/status + - privatednszonesvirtualnetworklinks/finalizers + - privatednszonesvirtualnetworklinks/status + - privateendpoints/finalizers + - privateendpoints/status + - privateendpointsprivatednszonegroups/finalizers + - privateendpointsprivatednszonegroups/status + - privatelinkservices/finalizers + - privatelinkservices/status + - publicipaddresses/finalizers + - publicipaddresses/status + - publicipprefixes/finalizers + - publicipprefixes/status + - routetables/finalizers + - routetables/status + - routetablesroutes/finalizers + - routetablesroutes/status + - trafficmanagerprofiles/finalizers + - trafficmanagerprofiles/status + - trafficmanagerprofilesazureendpoints/finalizers + - trafficmanagerprofilesazureendpoints/status + - trafficmanagerprofilesexternalendpoints/finalizers + - trafficmanagerprofilesexternalendpoints/status + - trafficmanagerprofilesnestedendpoints/finalizers + - trafficmanagerprofilesnestedendpoints/status + - virtualnetworkgateways/finalizers + - virtualnetworkgateways/status + - virtualnetworks/finalizers + - virtualnetworks/status + - virtualnetworkssubnets/finalizers + - virtualnetworkssubnets/status + - virtualnetworksvirtualnetworkpeerings/finalizers + - virtualnetworksvirtualnetworkpeerings/status + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - notificationhubs + - notificationhubsauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - notificationhubs/finalizers + - notificationhubs/status + - notificationhubsauthorizationrules/finalizers + - notificationhubsauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces/finalizers + - workspaces/status + verbs: + - get + - patch + - update + - apiGroups: + - redhatopenshift.azure.com + resources: + - hcpopenshiftclusters + - hcpopenshiftclustersexternalauths + - hcpopenshiftclustersnodepools + - openshiftclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - redhatopenshift.azure.com + resources: + - hcpopenshiftclusters/finalizers + - hcpopenshiftclusters/status + - hcpopenshiftclustersexternalauths/finalizers + - hcpopenshiftclustersexternalauths/status + - hcpopenshiftclustersnodepools/finalizers + - hcpopenshiftclustersnodepools/status + - openshiftclusters/finalizers + - openshiftclusters/status + verbs: + - get + - patch + - update + - apiGroups: + - resources.azure.com + resources: + - resourcegroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - resources.azure.com + resources: + - resourcegroups/finalizers + - resourcegroups/status + verbs: + - get + - patch + - update + - apiGroups: + - search.azure.com + resources: + - searchservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - search.azure.com + resources: + - searchservices/finalizers + - searchservices/status + verbs: + - get + - patch + - update + - apiGroups: + - servicebus.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespacesqueues + - namespacestopics + - namespacestopicssubscriptions + - namespacestopicssubscriptionsrules + - topicauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - servicebus.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespacesqueues/finalizers + - namespacesqueues/status + - namespacestopics/finalizers + - namespacestopics/status + - namespacestopicssubscriptions/finalizers + - namespacestopicssubscriptions/status + - namespacestopicssubscriptionsrules/finalizers + - namespacestopicssubscriptionsrules/status + - topicauthorizationrules/finalizers + - topicauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates + - customdomains + - replicas + - signalrs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates/finalizers + - customcertificates/status + - customdomains/finalizers + - customdomains/status + - replicas/finalizers + - replicas/status + - signalrs/finalizers + - signalrs/status + verbs: + - get + - patch + - update + - apiGroups: + - sql.azure.com + resources: + - servers + - serversadministrators + - serversadvancedthreatprotectionsettings + - serversauditingsettings + - serversazureadonlyauthentications + - serversconnectionpolicies + - serversdatabases + - serversdatabasesadvancedthreatprotectionsettings + - serversdatabasesauditingsettings + - serversdatabasesbackuplongtermretentionpolicies + - serversdatabasesbackupshorttermretentionpolicies + - serversdatabasessecurityalertpolicies + - serversdatabasestransparentdataencryptions + - serversdatabasesvulnerabilityassessments + - serverselasticpools + - serversfailovergroups + - serversfirewallrules + - serversipv6firewallrules + - serversoutboundfirewallrules + - serverssecurityalertpolicies + - serversvirtualnetworkrules + - serversvulnerabilityassessments + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sql.azure.com + resources: + - servers/finalizers + - servers/status + - serversadministrators/finalizers + - serversadministrators/status + - serversadvancedthreatprotectionsettings/finalizers + - serversadvancedthreatprotectionsettings/status + - serversauditingsettings/finalizers + - serversauditingsettings/status + - serversazureadonlyauthentications/finalizers + - serversazureadonlyauthentications/status + - serversconnectionpolicies/finalizers + - serversconnectionpolicies/status + - serversdatabases/finalizers + - serversdatabases/status + - serversdatabasesadvancedthreatprotectionsettings/finalizers + - serversdatabasesadvancedthreatprotectionsettings/status + - serversdatabasesauditingsettings/finalizers + - serversdatabasesauditingsettings/status + - serversdatabasesbackuplongtermretentionpolicies/finalizers + - serversdatabasesbackuplongtermretentionpolicies/status + - serversdatabasesbackupshorttermretentionpolicies/finalizers + - serversdatabasesbackupshorttermretentionpolicies/status + - serversdatabasessecurityalertpolicies/finalizers + - serversdatabasessecurityalertpolicies/status + - serversdatabasestransparentdataencryptions/finalizers + - serversdatabasestransparentdataencryptions/status + - serversdatabasesvulnerabilityassessments/finalizers + - serversdatabasesvulnerabilityassessments/status + - serverselasticpools/finalizers + - serverselasticpools/status + - serversfailovergroups/finalizers + - serversfailovergroups/status + - serversfirewallrules/finalizers + - serversfirewallrules/status + - serversipv6firewallrules/finalizers + - serversipv6firewallrules/status + - serversoutboundfirewallrules/finalizers + - serversoutboundfirewallrules/status + - serverssecurityalertpolicies/finalizers + - serverssecurityalertpolicies/status + - serversvirtualnetworkrules/finalizers + - serversvirtualnetworkrules/status + - serversvulnerabilityassessments/finalizers + - serversvulnerabilityassessments/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - storage.azure.com + resources: + - storageaccounts + - storageaccountsblobservices + - storageaccountsblobservicescontainers + - storageaccountsfileservices + - storageaccountsfileservicesshares + - storageaccountsmanagementpolicies + - storageaccountsqueueservices + - storageaccountsqueueservicesqueues + - storageaccountstableservices + - storageaccountstableservicestables + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.azure.com + resources: + - storageaccounts/finalizers + - storageaccounts/status + - storageaccountsblobservices/finalizers + - storageaccountsblobservices/status + - storageaccountsblobservicescontainers/finalizers + - storageaccountsblobservicescontainers/status + - storageaccountsfileservices/finalizers + - storageaccountsfileservices/status + - storageaccountsfileservicesshares/finalizers + - storageaccountsfileservicesshares/status + - storageaccountsmanagementpolicies/finalizers + - storageaccountsmanagementpolicies/status + - storageaccountsqueueservices/finalizers + - storageaccountsqueueservices/status + - storageaccountsqueueservicesqueues/finalizers + - storageaccountsqueueservicesqueues/status + - storageaccountstableservices/finalizers + - storageaccountstableservices/status + - storageaccountstableservicestables/finalizers + - storageaccountstableservicestables/status + verbs: + - get + - patch + - update + - apiGroups: + - subscription.azure.com + resources: + - aliases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - subscription.azure.com + resources: + - aliases/finalizers + - aliases/status + verbs: + - get + - patch + - update + - apiGroups: + - synapse.azure.com + resources: + - workspaces + - workspacesbigdatapools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - synapse.azure.com + resources: + - workspaces/finalizers + - workspaces/status + - workspacesbigdatapools/finalizers + - workspacesbigdatapools/status + verbs: + - get + - patch + - update + - apiGroups: + - web.azure.com + resources: + - serverfarms + - sites + - sitessourcecontrols + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - web.azure.com + resources: + - serverfarms/finalizers + - serverfarms/status + - sites/finalizers + - sites/status + - sitessourcecontrols/finalizers + - sitessourcecontrols/status + verbs: + - get + - patch + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: azureserviceoperator-leader-election-rolebinding + namespace: azureserviceoperator-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: azureserviceoperator-leader-election-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + name: azureserviceoperator-controller-manager-metrics-service + namespace: azureserviceoperator-system +spec: + ports: + - name: metrics + port: 8443 + selector: + control-plane: controller-manager +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system +spec: + ports: + - port: 443 + targetPort: 9443 + selector: + control-plane: controller-manager +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + name: azureserviceoperator-controller-manager + namespace: azureserviceoperator-system +spec: + replicas: 2 + revisionHistoryLimit: 10 + selector: + matchLabels: + control-plane: controller-manager + strategy: + type: Recreate + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + spec: + containers: + - args: + - --metrics-addr=0.0.0.0:8443 + - --secure-metrics=true + - --profiling-metrics=false + - --health-addr=:8081 + - --v=2 + - --crd-pattern= + - --webhook-port=9443 + - --webhook-cert-dir=/tmp/k8s-webhook-server/serving-certs + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: AZURE_OPERATOR_MODE + value: webhooks + - name: AZURE_SUBSCRIPTION_ID + value: none + image: mcr.microsoft.com/k8s/azureserviceoperator:v2.15.0-rev.60 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + name: manager + ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + - containerPort: 8081 + name: health-port + protocol: TCP + - containerPort: 8443 + name: metrics-port + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: 8081 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 200m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + startupProbe: + failureThreshold: 12 + httpGet: + path: /healthz + port: 8081 + periodSeconds: 10 + volumeMounts: + - mountPath: /var/run/secrets/tokens + name: azure-identity + readOnly: true + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: azureserviceoperator-default + terminationGracePeriodSeconds: 10 + volumes: + - name: cert + secret: + defaultMode: 420 + secretName: webhook-server-cert + - name: azure-identity + projected: + defaultMode: 420 + sources: + - serviceAccountToken: + audience: api://AzureADTokenExchange + expirationSeconds: 3600 + path: azure-identity +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: azureserviceoperator-serving-cert + namespace: azureserviceoperator-system +spec: + dnsNames: + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc.cluster.local + issuerRef: + kind: Issuer + name: azureserviceoperator-selfsigned-issuer + secretName: webhook-server-cert + subject: + organizations: + - azure +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: azureserviceoperator-selfsigned-issuer + namespace: azureserviceoperator-system +spec: + selfSigned: {} +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-mutating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20240501-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240501.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisaccesspolicies.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisaccesspolicyassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisaccesspolicyassignments.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicyassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20241101-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsautoupgradeprofile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsautoupgradeprofiles.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsautoupgradeprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20250301-fleetsupdatestrategy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250301.fleetsupdatestrategies.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdatestrategies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20241001-networkwatcher + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241001.networkwatchers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20241001-networkwatchersflowlog + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241001.networkwatchersflowlogs.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchersflowlogs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersexternalauths + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersnodepools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-validating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20240501-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240501.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20240501 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisaccesspolicies.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisaccesspolicyassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisaccesspolicyassignments.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisaccesspolicyassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20241101-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsautoupgradeprofile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsautoupgradeprofiles.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsautoupgradeprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20250301-fleetsupdatestrategy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250301.fleetsupdatestrategies.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20250301 + operations: + - CREATE + - UPDATE + resources: + - fleetsupdatestrategies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20241001-networkwatcher + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241001.networkwatchers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20241001-networkwatchersflowlog + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241001.networkwatchersflowlogs.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20241001 + operations: + - CREATE + - UPDATE + resources: + - networkwatchersflowlogs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersexternalauths + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20240610preview + operations: + - CREATE + - UPDATE + resources: + - hcpopenshiftclustersnodepools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None diff --git a/download/v2.15.0-rev.60/multitenant-tenant_v2.15.0-rev.60.yaml b/download/v2.15.0-rev.60/multitenant-tenant_v2.15.0-rev.60.yaml new file mode 100644 index 00000000000..baa0578b757 --- /dev/null +++ b/download/v2.15.0-rev.60/multitenant-tenant_v2.15.0-rev.60.yaml @@ -0,0 +1,305 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: tenant1-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + name: azureserviceoperator-default + namespace: tenant1-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: azureserviceoperator-leader-election-role + namespace: tenant1-system +rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: azureserviceoperator-leader-election-rolebinding + namespace: tenant1-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: azureserviceoperator-leader-election-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: tenant1-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-reader-rolebinding-tenant1 +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-reader-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: tenant1-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-manager-rolebinding-tenant1 +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: tenant1-system +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + name: azureserviceoperator-controller-manager + namespace: tenant1-system +spec: + replicas: 2 + revisionHistoryLimit: 10 + selector: + matchLabels: + control-plane: controller-manager + strategy: + type: Recreate + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0-rev.60 + control-plane: controller-manager + spec: + containers: + - args: + - --metrics-addr=0.0.0.0:8443 + - --secure-metrics=true + - --profiling-metrics=false + - --health-addr=:8081 + - --enable-leader-election + - --v=2 + - --crd-pattern= + - --webhook-port=9443 + - --webhook-cert-dir=/tmp/k8s-webhook-server/serving-certs + env: + - name: GOMEMLIMIT + value: 400MiB + - name: AZURE_CLIENT_ID + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_ID + name: aso-controller-settings + - name: AZURE_CLIENT_SECRET + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_SECRET + name: aso-controller-settings + optional: true + - name: AZURE_TENANT_ID + valueFrom: + secretKeyRef: + key: AZURE_TENANT_ID + name: aso-controller-settings + - name: AZURE_ADDITIONAL_TENANTS + valueFrom: + secretKeyRef: + key: AZURE_ADDITIONAL_TENANTS + name: aso-controller-settings + optional: true + - name: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + valueFrom: + secretKeyRef: + key: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + name: aso-controller-settings + optional: true + - name: AZURE_SUBSCRIPTION_ID + valueFrom: + secretKeyRef: + key: AZURE_SUBSCRIPTION_ID + name: aso-controller-settings + - name: AZURE_CLIENT_CERTIFICATE + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE + name: aso-controller-settings + optional: true + - name: AZURE_CLIENT_CERTIFICATE_PASSWORD + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE_PASSWORD + name: aso-controller-settings + optional: true + - name: AZURE_AUTHORITY_HOST + valueFrom: + secretKeyRef: + key: AZURE_AUTHORITY_HOST + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_ENDPOINT + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_ENDPOINT + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_AUDIENCE + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_AUDIENCE + name: aso-controller-settings + optional: true + - name: AZURE_TARGET_NAMESPACES + valueFrom: + secretKeyRef: + key: AZURE_TARGET_NAMESPACES + name: aso-controller-settings + optional: true + - name: AZURE_OPERATOR_MODE + value: watchers + - name: AZURE_SYNC_PERIOD + valueFrom: + secretKeyRef: + key: AZURE_SYNC_PERIOD + name: aso-controller-settings + optional: true + - name: USE_WORKLOAD_IDENTITY_AUTH + valueFrom: + secretKeyRef: + key: USE_WORKLOAD_IDENTITY_AUTH + name: aso-controller-settings + optional: true + - name: AZURE_USER_AGENT_SUFFIX + valueFrom: + secretKeyRef: + key: AZURE_USER_AGENT_SUFFIX + name: aso-controller-settings + optional: true + - name: MAX_CONCURRENT_RECONCILES + valueFrom: + secretKeyRef: + key: MAX_CONCURRENT_RECONCILES + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_MODE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_MODE + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_QPS + valueFrom: + secretKeyRef: + key: RATE_LIMIT_QPS + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_BUCKET_SIZE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_BUCKET_SIZE + name: aso-controller-settings + optional: true + - name: DEFAULT_RECONCILE_POLICY + valueFrom: + secretKeyRef: + key: DEFAULT_RECONCILE_POLICY + name: aso-controller-settings + optional: true + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: mcr.microsoft.com/k8s/azureserviceoperator:v2.15.0-rev.60 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + name: manager + ports: + - containerPort: 8081 + name: health-port + protocol: TCP + - containerPort: 8443 + name: metrics-port + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: 8081 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 200m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + startupProbe: + failureThreshold: 12 + httpGet: + path: /healthz + port: 8081 + periodSeconds: 10 + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: azureserviceoperator-default + terminationGracePeriodSeconds: 10 diff --git a/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension.go b/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension.go new file mode 100644 index 00000000000..7f7e61abfd6 --- /dev/null +++ b/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension.go @@ -0,0 +1,208 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + "context" + "strings" + + . "github.com/Azure/azure-service-operator/v2/internal/logging" + + armstorage "github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/go-logr/logr" + "github.com/rotisserie/eris" + v1 "k8s.io/api/core/v1" + "sigs.k8s.io/controller-runtime/pkg/conversion" + + "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/internal/resolver" + "github.com/Azure/azure-service-operator/v2/internal/set" + "github.com/Azure/azure-service-operator/v2/internal/util/to" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/extensions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" +) + +var _ extensions.PreReconciliationChecker = &HcpOpenShiftClusterExtension{} + +// PreReconcileCheck does a pre-reconcile check to see if the resource is in a state that can be reconciled. +// ARM resources should implement this to avoid reconciliation attempts that cannot possibly succeed. +// Returns ProceedWithReconcile if the reconciliation should go ahead. +// Returns BlockReconcile and a human-readable reason if the reconciliation should be skipped. +// ctx is the current operation context. +// obj is the resource about to be reconciled. The resource's State will be freshly updated. +// kubeClient allows access to the cluster for any required queries. +// armClient allows access to ARM for any required queries. +// log is the logger for the current operation. +// next is the next (nested) implementation to call. +func (ext *HcpOpenShiftClusterExtension) PreReconcileCheck(ctx context.Context, + obj genruntime.MetaObject, + owner genruntime.MetaObject, + resourceResolver *resolver.Resolver, + armClient *genericarmclient.GenericClient, + log logr.Logger, + next extensions.PreReconcileCheckFunc, +) (extensions.PreReconcileCheckResult, error) { + // This has to be the current hub storage version of the hcpOpenShiftCluster. + // It will need to be updated if the hub storage version changes. + hcpOpenShiftCluster, ok := obj.(*storage.HcpOpenShiftCluster) + if !ok { + return extensions.PreReconcileCheckResult{}, eris.Errorf("cannot run on unknown resource type %T, expected *storage.HcpOpenShiftCluster", obj) + } + + // Type assert that we are the hub type. This will fail to compile if + // the hub type has been changed but this extension has not + var _ conversion.Hub = hcpOpenShiftCluster + + // If the hcpOpenShiftCluster is already deleting, we have to wait for that to finish + // before trying anything else + if hcpOpenShiftCluster.Status.Properties != nil && + hcpOpenShiftCluster.Status.Properties.ProvisioningState != nil && + strings.EqualFold(*hcpOpenShiftCluster.Status.Properties.ProvisioningState, "Deleting") { + return extensions.BlockReconcile("reconcile blocked while hcpOpenShiftCluster is at status deleting"), nil + } + + return next(ctx, obj, owner, resourceResolver, armClient, log) +} + +var _ genruntime.KubernetesSecretExporter = &HcpOpenShiftClusterExtension{} + +const ( + BackupInstancePollerResumeTokenAnnotation = "serviceoperator.azure.com/bi-poller-resume-token" +) + +func GetPollerResumeToken(obj genruntime.MetaObject, log logr.Logger) (string, bool) { + log.V(Debug).Info("GetPollerResumeToken") + token, hasResumeToken := obj.GetAnnotations()[BackupInstancePollerResumeTokenAnnotation] + return token, hasResumeToken +} + +func SetPollerResumeToken(obj genruntime.MetaObject, token string, log logr.Logger) { + log.V(Debug).Info("SetPollerResumeToken") + genruntime.AddAnnotation(obj, BackupInstancePollerResumeTokenAnnotation, token) +} + +// ClearPollerResumeToken clears the poller resume token and ID annotations +func ClearPollerResumeToken(obj genruntime.MetaObject, log logr.Logger) { + log.V(Debug).Info("ClearPollerResumeToken") + genruntime.RemoveAnnotation(obj, BackupInstancePollerResumeTokenAnnotation) +} + +func (ext *HcpOpenShiftClusterExtension) ExportKubernetesSecrets( + ctx context.Context, + obj genruntime.MetaObject, + additionalSecrets set.Set[string], + armClient *genericarmclient.GenericClient, + log logr.Logger, +) (*genruntime.KubernetesSecretExportResult, error) { + // This has to be the current hub storage version. It will need to be updated + // if the hub storage version changes. + typedObj, ok := obj.(*storage.HcpOpenShiftCluster) + if !ok { + return nil, eris.Errorf("cannot run on unknown resource type %T, expected *storage.HcpOpenShiftCluster", obj) + } + + // Type assert that we are the hub type. This will fail to compile if + // the hub type has been changed but this extension has not + var _ conversion.Hub = typedObj + + primarySecrets := secretsSpecifiedHcp(typedObj) + requestedSecrets := set.Union(primarySecrets, additionalSecrets) + + if len(requestedSecrets) == 0 { + log.V(Debug).Info("No secrets retrieval to perform as operatorSpec is empty") + return nil, nil + } + + id, err := genruntime.GetAndParseResourceID(typedObj) + if err != nil { + return nil, err + } + + subscription := id.SubscriptionID + // Using armClient.ClientOptions() here ensures we share the same HTTP connection, so this is not opening a new + // connection each time through + var clusterClient *armstorage.HcpOpenShiftClustersClient + clusterClient, err = armstorage.NewHcpOpenShiftClustersClient(subscription, armClient.Creds(), armClient.ClientOptions()) + if err != nil { + return nil, eris.Wrapf(err, "failed to create new NewOpenShiftClustersClient") + } + + var adminCredentials string + if requestedSecrets.Contains(adminCredentialsKey) { + resumeToken, _ := GetPollerResumeToken(typedObj, log) + opts := &armstorage.HcpOpenShiftClustersClientBeginRequestAdminCredentialOptions{ResumeToken: resumeToken} + log.V(Debug).Info("Starting BeginRequestAdminCredential") + var poller *runtime.Poller[armstorage.HcpOpenShiftClustersClientRequestAdminCredentialResponse] + poller, err = clusterClient.BeginRequestAdminCredential(ctx, id.ResourceGroupName, typedObj.AzureName(), opts) + if err != nil { + return nil, eris.Wrapf(err, "failed creating admin credentials") + } + if resumeToken == "" { + resumeToken, resumeTokenErr := poller.ResumeToken() + if resumeTokenErr != nil { + return nil, eris.Wrapf(resumeTokenErr, "couldn't create PUT resume token for resource") + } else { + SetPollerResumeToken(obj, resumeToken, log) + } + } + _, pollErr := poller.Poll(ctx) + if pollErr != nil { + return nil, eris.Wrapf(pollErr, "couldn't poll with PUT resume token for resource") + } + + if poller.Done() { + log.V(Debug).Info("Polling is completed") + ClearPollerResumeToken(obj, log) + resp, err := poller.Result(ctx) + if err != nil { + return nil, eris.Wrapf(err, "couldn't get result with PUT resume token for resource") + } + adminCredentials = to.Value(resp.HcpOpenShiftClusterAdminCredential.Kubeconfig) + } else { + log.V(Debug).Info("Polling is in-progress") + } + } + + secretSlice, err := secretsToWriteHcp(typedObj, adminCredentials) + if err != nil { + return nil, err + } + + resolvedSecrets := map[string]string{} + if adminCredentials != "" { + resolvedSecrets[adminCredentialsKey] = adminCredentials + } + return &genruntime.KubernetesSecretExportResult{ + Objs: secrets.SliceToClientObjectSlice(secretSlice), + RawSecrets: secrets.SelectSecrets(additionalSecrets, resolvedSecrets), + }, nil +} + +func secretsSpecifiedHcp(obj *storage.HcpOpenShiftCluster) set.Set[string] { + if obj.Spec.OperatorSpec == nil || obj.Spec.OperatorSpec.Secrets == nil { + return nil + } + + operatorSecrets := obj.Spec.OperatorSpec.Secrets + result := set.Set[string]{} + if operatorSecrets.AdminCredentials != nil { + result.Add(adminCredentialsKey) + } + + return result +} + +func secretsToWriteHcp(obj *storage.HcpOpenShiftCluster, adminCredentials string) ([]*v1.Secret, error) { + operatorSpecSecrets := obj.Spec.OperatorSpec.Secrets + if operatorSpecSecrets == nil { + return nil, nil + } + + collector := secrets.NewCollector(obj.Namespace) + collector.AddValue(operatorSpecSecrets.AdminCredentials, adminCredentials) + + return collector.Values() +} diff --git a/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension_types_gen.go b/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension_types_gen.go new file mode 100644 index 00000000000..9e118702f10 --- /dev/null +++ b/v2/api/redhatopenshift/customizations/hcp_open_shift_cluster_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type HcpOpenShiftClusterExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *HcpOpenShiftClusterExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240610p.HcpOpenShiftCluster{}, + &storage.HcpOpenShiftCluster{}} +} diff --git a/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_external_auth_extension_types_gen.go b/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_external_auth_extension_types_gen.go new file mode 100644 index 00000000000..79e6ed35b0e --- /dev/null +++ b/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_external_auth_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type HcpOpenShiftClustersExternalAuthExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *HcpOpenShiftClustersExternalAuthExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240610p.HcpOpenShiftClustersExternalAuth{}, + &storage.HcpOpenShiftClustersExternalAuth{}} +} diff --git a/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_node_pool_extension_types_gen.go b/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_node_pool_extension_types_gen.go new file mode 100644 index 00000000000..c85dc486f0e --- /dev/null +++ b/v2/api/redhatopenshift/customizations/hcp_open_shift_clusters_node_pool_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type HcpOpenShiftClustersNodePoolExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *HcpOpenShiftClustersNodePoolExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240610p.HcpOpenShiftClustersNodePool{}, + &storage.HcpOpenShiftClustersNodePool{}} +} diff --git a/v2/api/redhatopenshift/customizations/structure.txt b/v2/api/redhatopenshift/customizations/structure.txt index f25513d5f0c..9851992fff2 100644 --- a/v2/api/redhatopenshift/customizations/structure.txt +++ b/v2/api/redhatopenshift/customizations/structure.txt @@ -1,5 +1,11 @@ // Code generated by azure-service-operator-codegen. DO NOT EDIT. github.com/Azure/azure-service-operator/v2/api/redhatopenshift/customizations ----------------------------------------------------------------------------- +HcpOpenShiftClusterExtension: Object (0 properties) + +HcpOpenShiftClustersExternalAuthExtension: Object (0 properties) + +HcpOpenShiftClustersNodePoolExtension: Object (0 properties) + OpenShiftClusterExtension: Object (0 properties) diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen.go new file mode 100644 index 00000000000..cb82e65f36f --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen.go @@ -0,0 +1,358 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type HcpOpenShiftCluster_Spec struct { + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *HcpOpenShiftClusterProperties `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &HcpOpenShiftCluster_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (cluster HcpOpenShiftCluster_Spec) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetName returns the Name of the resource +func (cluster *HcpOpenShiftCluster_Spec) GetName() string { + return cluster.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +func (cluster *HcpOpenShiftCluster_Spec) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +} + +// HCP cluster properties +type HcpOpenShiftClusterProperties struct { + // Api: Shows the cluster API server profile + Api *ApiProfile `json:"api,omitempty"` + + // Autoscaling: Configure ClusterAutoscaling . + Autoscaling *ClusterAutoscalingProfile `json:"autoscaling,omitempty"` + + // ClusterImageRegistry: OpenShift internal image registry + ClusterImageRegistry *ClusterImageRegistryProfile `json:"clusterImageRegistry,omitempty"` + + // Dns: Cluster DNS configuration + Dns *DnsProfile `json:"dns,omitempty"` + + // Etcd: Configure ETCD. + Etcd *EtcdProfile `json:"etcd,omitempty"` + + // Network: Cluster network configuration + Network *NetworkProfile `json:"network,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are in minutes and from 0 to 10080 minutes (1 week). + // 0 means that the MachinePool can be drained without any time limitation. + // This is the value is used a default for all NodePools. It can be overridden + // by specifying nodeDrainTimeoutMinutes for a given NodePool + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure platform configuration + Platform *PlatformProfile `json:"platform,omitempty"` + + // Version: Version of the control plane components + Version *VersionProfile `json:"version,omitempty"` +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Information about the API of a cluster. +type ApiProfile struct { + // AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries. + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + + // Visibility: The internet visibility of the OpenShift API server + Visibility *ApiProfile_Visibility `json:"visibility,omitempty"` +} + +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile struct { + // MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + // considering the + // provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + + // MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + // The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + + // MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + // down a NodePool. + // The default is 600 seconds. + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + + // PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + // autoscaler actions, + // but only run when there are spare resources available. The default is -10. + // See the following for more details: + // https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` +} + +// OpenShift cluster image registry +type ClusterImageRegistryProfile struct { + // State: state indicates the desired ImageStream-backed cluster image registry installation mode. + // This can only be set during cluster creation and cannot be changed after cluster creation. + // Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + // the cluster. Disabled means the ImageStream-backed image registry will not be present in + // the cluster. The default is Enabled. + State *ClusterImageRegistryProfile_State `json:"state,omitempty"` +} + +// DNS contains the DNS settings of the cluster +type DnsProfile struct { + // BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + // BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` +} + +// The ETCD settings and configuration options. +type EtcdProfile struct { + // DataEncryption: ETCD Data Encryption settings. + // If not specified platform managed keys are used. + DataEncryption *EtcdDataEncryptionProfile `json:"dataEncryption,omitempty"` +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +// +kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned,UserAssigned","UserAssigned"} +type ManagedServiceIdentityType string + +const ( + ManagedServiceIdentityType_None = ManagedServiceIdentityType("None") + ManagedServiceIdentityType_SystemAssigned = ManagedServiceIdentityType("SystemAssigned") + ManagedServiceIdentityType_SystemAssignedUserAssigned = ManagedServiceIdentityType("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_UserAssigned = ManagedServiceIdentityType("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType +var managedServiceIdentityType_Values = map[string]ManagedServiceIdentityType{ + "none": ManagedServiceIdentityType_None, + "systemassigned": ManagedServiceIdentityType_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_UserAssigned, +} + +// OpenShift networking configuration +type NetworkProfile struct { + // HostPrefix: Network host prefix + HostPrefix *int `json:"hostPrefix,omitempty"` + + // MachineCidr: The CIDR block from which to assign machine IP addresses + MachineCidr *string `json:"machineCidr,omitempty"` + + // NetworkType: The main controller responsible for rendering the core networking components + NetworkType *NetworkProfile_NetworkType `json:"networkType,omitempty"` + + // PodCidr: The CIDR of the pod IP addresses + PodCidr *string `json:"podCidr,omitempty"` + + // ServiceCidr: The CIDR block for assigned service IPs + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +// Azure specific configuration +type PlatformProfile struct { + // ManagedResourceGroup: Resource group to put cluster resources + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + + // NetworkSecurityGroupId: ResourceId for the NSG (network security group) attached to the cluster subnet + // Note that NSGs cannot be reused for other ARO-HCP clusters. + NetworkSecurityGroupId *string `json:"networkSecurityGroupId,omitempty"` + + // OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure + OperatorsAuthentication *OperatorsAuthenticationProfile `json:"operatorsAuthentication,omitempty"` + + // OutboundType: The core outgoing configuration + OutboundType *PlatformProfile_OutboundType `json:"outboundType,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters. + SubnetId *string `json:"subnetId,omitempty"` +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { +} + +// Versions represents an OpenShift version. +type VersionProfile struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +// +kubebuilder:validation:Enum={"Private","Public"} +type ApiProfile_Visibility string + +const ( + ApiProfile_Visibility_Private = ApiProfile_Visibility("Private") + ApiProfile_Visibility_Public = ApiProfile_Visibility("Public") +) + +// Mapping from string to ApiProfile_Visibility +var apiProfile_Visibility_Values = map[string]ApiProfile_Visibility{ + "private": ApiProfile_Visibility_Private, + "public": ApiProfile_Visibility_Public, +} + +// +kubebuilder:validation:Enum={"Disabled","Enabled"} +type ClusterImageRegistryProfile_State string + +const ( + ClusterImageRegistryProfile_State_Disabled = ClusterImageRegistryProfile_State("Disabled") + ClusterImageRegistryProfile_State_Enabled = ClusterImageRegistryProfile_State("Enabled") +) + +// Mapping from string to ClusterImageRegistryProfile_State +var clusterImageRegistryProfile_State_Values = map[string]ClusterImageRegistryProfile_State{ + "disabled": ClusterImageRegistryProfile_State_Disabled, + "enabled": ClusterImageRegistryProfile_State_Enabled, +} + +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile struct { + // CustomerManaged: Specify customer managed encryption key details. + // Required when keyManagementMode is "CustomerManaged". + CustomerManaged *CustomerManagedEncryptionProfile `json:"customerManaged,omitempty"` + + // KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + // By default, "PlatformManaged" is used. + KeyManagementMode *EtcdDataEncryptionProfile_KeyManagementMode `json:"keyManagementMode,omitempty"` +} + +// +kubebuilder:validation:Enum={"OVNKubernetes","Other"} +type NetworkProfile_NetworkType string + +const ( + NetworkProfile_NetworkType_OVNKubernetes = NetworkProfile_NetworkType("OVNKubernetes") + NetworkProfile_NetworkType_Other = NetworkProfile_NetworkType("Other") +) + +// Mapping from string to NetworkProfile_NetworkType +var networkProfile_NetworkType_Values = map[string]NetworkProfile_NetworkType{ + "ovnkubernetes": NetworkProfile_NetworkType_OVNKubernetes, + "other": NetworkProfile_NetworkType_Other, +} + +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile struct { + // UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + // to perform Operators authentication based on Azure User-Assigned Managed Identities + UserAssignedIdentities *UserAssignedIdentitiesProfile `json:"userAssignedIdentities,omitempty"` +} + +// +kubebuilder:validation:Enum={"LoadBalancer"} +type PlatformProfile_OutboundType string + +const PlatformProfile_OutboundType_LoadBalancer = PlatformProfile_OutboundType("LoadBalancer") + +// Mapping from string to PlatformProfile_OutboundType +var platformProfile_OutboundType_Values = map[string]PlatformProfile_OutboundType{ + "loadbalancer": PlatformProfile_OutboundType_LoadBalancer, +} + +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile struct { + // EncryptionType: The encryption type used. + // By default, "KMS" is used. + EncryptionType *CustomerManagedEncryptionProfile_EncryptionType `json:"encryptionType,omitempty"` + + // Kms: The Key Management Service (KMS) encryption key details. + // Required when encryptionType is "KMS". + Kms *KmsEncryptionProfile `json:"kms,omitempty"` +} + +// +kubebuilder:validation:Enum={"CustomerManaged","PlatformManaged"} +type EtcdDataEncryptionProfile_KeyManagementMode string + +const ( + EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged = EtcdDataEncryptionProfile_KeyManagementMode("CustomerManaged") + EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged = EtcdDataEncryptionProfile_KeyManagementMode("PlatformManaged") +) + +// Mapping from string to EtcdDataEncryptionProfile_KeyManagementMode +var etcdDataEncryptionProfile_KeyManagementMode_Values = map[string]EtcdDataEncryptionProfile_KeyManagementMode{ + "customermanaged": EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged, + "platformmanaged": EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged, +} + +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile struct { + // ControlPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + ControlPlaneOperators map[string]string `json:"controlPlaneOperators,omitempty"` + + // DataPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + DataPlaneOperators map[string]string `json:"dataPlaneOperators,omitempty"` + + // ServiceManagedIdentity: Represents the information associated to an Azure User-Assigned Managed Identity whose + // purpose is to perform service level actions. + ServiceManagedIdentity *string `json:"serviceManagedIdentity,omitempty"` +} + +// +kubebuilder:validation:Enum={"KMS"} +type CustomerManagedEncryptionProfile_EncryptionType string + +const CustomerManagedEncryptionProfile_EncryptionType_KMS = CustomerManagedEncryptionProfile_EncryptionType("KMS") + +// Mapping from string to CustomerManagedEncryptionProfile_EncryptionType +var customerManagedEncryptionProfile_EncryptionType_Values = map[string]CustomerManagedEncryptionProfile_EncryptionType{ + "kms": CustomerManagedEncryptionProfile_EncryptionType_KMS, +} + +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile struct { + // ActiveKey: The details of the active key. + ActiveKey *KmsKey `json:"activeKey,omitempty"` +} + +// A representation of a KeyVault Secret. +type KmsKey struct { + // Name: name is the name of the keyvault key used for encryption/decryption. + Name *string `json:"name,omitempty"` + + // VaultName: vaultName is the name of the keyvault that contains the secret. + VaultName *string `json:"vaultName,omitempty"` + + // Version: version contains the version of the key to use. + Version *string `json:"version,omitempty"` +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen_test.go new file mode 100644 index 00000000000..625093f01d2 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_spec_types_gen_test.go @@ -0,0 +1,1225 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ApiProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile, ApiProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile runs a test to see if a specific instance of ApiProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile(subject ApiProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile instances for property testing - lazily instantiated by ApiProfileGenerator() +var apiProfileGenerator gopter.Gen + +// ApiProfileGenerator returns a generator of ApiProfile instances for property testing. +func ApiProfileGenerator() gopter.Gen { + if apiProfileGenerator != nil { + return apiProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile(generators) + apiProfileGenerator = gen.Struct(reflect.TypeOf(ApiProfile{}), generators) + + return apiProfileGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.OneConstOf(ApiProfile_Visibility_Private, ApiProfile_Visibility_Public)) +} + +func Test_ClusterAutoscalingProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile, ClusterAutoscalingProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile runs a test to see if a specific instance of ClusterAutoscalingProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile(subject ClusterAutoscalingProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile instances for property testing - lazily instantiated by +// ClusterAutoscalingProfileGenerator() +var clusterAutoscalingProfileGenerator gopter.Gen + +// ClusterAutoscalingProfileGenerator returns a generator of ClusterAutoscalingProfile instances for property testing. +func ClusterAutoscalingProfileGenerator() gopter.Gen { + if clusterAutoscalingProfileGenerator != nil { + return clusterAutoscalingProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(generators) + clusterAutoscalingProfileGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile{}), generators) + + return clusterAutoscalingProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterImageRegistryProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile, ClusterImageRegistryProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile runs a test to see if a specific instance of ClusterImageRegistryProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile(subject ClusterImageRegistryProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile instances for property testing - lazily instantiated by +// ClusterImageRegistryProfileGenerator() +var clusterImageRegistryProfileGenerator gopter.Gen + +// ClusterImageRegistryProfileGenerator returns a generator of ClusterImageRegistryProfile instances for property testing. +func ClusterImageRegistryProfileGenerator() gopter.Gen { + if clusterImageRegistryProfileGenerator != nil { + return clusterImageRegistryProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(generators) + clusterImageRegistryProfileGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile{}), generators) + + return clusterImageRegistryProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.OneConstOf(ClusterImageRegistryProfile_State_Disabled, ClusterImageRegistryProfile_State_Enabled)) +} + +func Test_CustomerManagedEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile, CustomerManagedEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile runs a test to see if a specific instance of CustomerManagedEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile(subject CustomerManagedEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfileGenerator() +var customerManagedEncryptionProfileGenerator gopter.Gen + +// CustomerManagedEncryptionProfileGenerator returns a generator of CustomerManagedEncryptionProfile instances for property testing. +// We first initialize customerManagedEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfileGenerator() gopter.Gen { + if customerManagedEncryptionProfileGenerator != nil { + return customerManagedEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + return customerManagedEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.OneConstOf(CustomerManagedEncryptionProfile_EncryptionType_KMS)) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfileGenerator()) +} + +func Test_DnsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile, DnsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile runs a test to see if a specific instance of DnsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile(subject DnsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile instances for property testing - lazily instantiated by DnsProfileGenerator() +var dnsProfileGenerator gopter.Gen + +// DnsProfileGenerator returns a generator of DnsProfile instances for property testing. +func DnsProfileGenerator() gopter.Gen { + if dnsProfileGenerator != nil { + return dnsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile(generators) + dnsProfileGenerator = gen.Struct(reflect.TypeOf(DnsProfile{}), generators) + + return dnsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile(gens map[string]gopter.Gen) { + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EtcdDataEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile, EtcdDataEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile runs a test to see if a specific instance of EtcdDataEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile(subject EtcdDataEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfileGenerator() +var etcdDataEncryptionProfileGenerator gopter.Gen + +// EtcdDataEncryptionProfileGenerator returns a generator of EtcdDataEncryptionProfile instances for property testing. +// We first initialize etcdDataEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfileGenerator() gopter.Gen { + if etcdDataEncryptionProfileGenerator != nil { + return etcdDataEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + return etcdDataEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.OneConstOf(EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged, EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged)) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfileGenerator()) +} + +func Test_EtcdProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile, EtcdProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile runs a test to see if a specific instance of EtcdProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile(subject EtcdProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile instances for property testing - lazily instantiated by EtcdProfileGenerator() +var etcdProfileGenerator gopter.Gen + +// EtcdProfileGenerator returns a generator of EtcdProfile instances for property testing. +func EtcdProfileGenerator() gopter.Gen { + if etcdProfileGenerator != nil { + return etcdProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile(generators) + etcdProfileGenerator = gen.Struct(reflect.TypeOf(EtcdProfile{}), generators) + + return etcdProfileGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfileGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties, HcpOpenShiftClusterPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties runs a test to see if a specific instance of HcpOpenShiftClusterProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties(subject HcpOpenShiftClusterProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties instances for property testing - lazily instantiated by +// HcpOpenShiftClusterPropertiesGenerator() +var hcpOpenShiftClusterPropertiesGenerator gopter.Gen + +// HcpOpenShiftClusterPropertiesGenerator returns a generator of HcpOpenShiftClusterProperties instances for property testing. +// We first initialize hcpOpenShiftClusterPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterPropertiesGenerator() gopter.Gen { + if hcpOpenShiftClusterPropertiesGenerator != nil { + return hcpOpenShiftClusterPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + return hcpOpenShiftClusterPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfileGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfileGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfileGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfileGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfileGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfileGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfileGenerator()) + gens["Version"] = gen.PtrOf(VersionProfileGenerator()) +} + +func Test_HcpOpenShiftCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_Spec, HcpOpenShiftCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_Spec runs a test to see if a specific instance of HcpOpenShiftCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_Spec(subject HcpOpenShiftCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_SpecGenerator() +var hcpOpenShiftCluster_SpecGenerator gopter.Gen + +// HcpOpenShiftCluster_SpecGenerator returns a generator of HcpOpenShiftCluster_Spec instances for property testing. +// We first initialize hcpOpenShiftCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_SpecGenerator() gopter.Gen { + if hcpOpenShiftCluster_SpecGenerator != nil { + return hcpOpenShiftCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + return hcpOpenShiftCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterPropertiesGenerator()) +} + +func Test_KmsEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile, KmsEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile runs a test to see if a specific instance of KmsEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile(subject KmsEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile instances for property testing - lazily instantiated by +// KmsEncryptionProfileGenerator() +var kmsEncryptionProfileGenerator gopter.Gen + +// KmsEncryptionProfileGenerator returns a generator of KmsEncryptionProfile instances for property testing. +func KmsEncryptionProfileGenerator() gopter.Gen { + if kmsEncryptionProfileGenerator != nil { + return kmsEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile(generators) + kmsEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile{}), generators) + + return kmsEncryptionProfileGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKeyGenerator()) +} + +func Test_KmsKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey, KmsKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey runs a test to see if a specific instance of KmsKey round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey(subject KmsKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey instances for property testing - lazily instantiated by KmsKeyGenerator() +var kmsKeyGenerator gopter.Gen + +// KmsKeyGenerator returns a generator of KmsKey instances for property testing. +func KmsKeyGenerator() gopter.Gen { + if kmsKeyGenerator != nil { + return kmsKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey(generators) + kmsKeyGenerator = gen.Struct(reflect.TypeOf(KmsKey{}), generators) + + return kmsKeyGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_None, + ManagedServiceIdentityType_SystemAssigned, + ManagedServiceIdentityType_SystemAssignedUserAssigned, + ManagedServiceIdentityType_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityDetailsGenerator()) +} + +func Test_NetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile, NetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile runs a test to see if a specific instance of NetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile(subject NetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile instances for property testing - lazily instantiated by NetworkProfileGenerator() +var networkProfileGenerator gopter.Gen + +// NetworkProfileGenerator returns a generator of NetworkProfile instances for property testing. +func NetworkProfileGenerator() gopter.Gen { + if networkProfileGenerator != nil { + return networkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile(generators) + networkProfileGenerator = gen.Struct(reflect.TypeOf(NetworkProfile{}), generators) + + return networkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.OneConstOf(NetworkProfile_NetworkType_OVNKubernetes, NetworkProfile_NetworkType_Other)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OperatorsAuthenticationProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile, OperatorsAuthenticationProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile runs a test to see if a specific instance of OperatorsAuthenticationProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile(subject OperatorsAuthenticationProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfileGenerator() +var operatorsAuthenticationProfileGenerator gopter.Gen + +// OperatorsAuthenticationProfileGenerator returns a generator of OperatorsAuthenticationProfile instances for property testing. +func OperatorsAuthenticationProfileGenerator() gopter.Gen { + if operatorsAuthenticationProfileGenerator != nil { + return operatorsAuthenticationProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(generators) + operatorsAuthenticationProfileGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile{}), generators) + + return operatorsAuthenticationProfileGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfileGenerator()) +} + +func Test_PlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile, PlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile runs a test to see if a specific instance of PlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile(subject PlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile instances for property testing - lazily instantiated by PlatformProfileGenerator() +var platformProfileGenerator gopter.Gen + +// PlatformProfileGenerator returns a generator of PlatformProfile instances for property testing. +// We first initialize platformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfileGenerator() gopter.Gen { + if platformProfileGenerator != nil { + return platformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + AddRelatedPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + return platformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkSecurityGroupId"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf(PlatformProfile_OutboundType_LoadBalancer)) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfileGenerator()) +} + +func Test_UserAssignedIdentitiesProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile, UserAssignedIdentitiesProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile runs a test to see if a specific instance of UserAssignedIdentitiesProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile(subject UserAssignedIdentitiesProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfileGenerator() +var userAssignedIdentitiesProfileGenerator gopter.Gen + +// UserAssignedIdentitiesProfileGenerator returns a generator of UserAssignedIdentitiesProfile instances for property testing. +func UserAssignedIdentitiesProfileGenerator() gopter.Gen { + if userAssignedIdentitiesProfileGenerator != nil { + return userAssignedIdentitiesProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile(generators) + userAssignedIdentitiesProfileGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile{}), generators) + + return userAssignedIdentitiesProfileGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile(gens map[string]gopter.Gen) { + gens["ControlPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["DataPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ServiceManagedIdentity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_VersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile, VersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile runs a test to see if a specific instance of VersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile(subject VersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile instances for property testing - lazily instantiated by VersionProfileGenerator() +var versionProfileGenerator gopter.Gen + +// VersionProfileGenerator returns a generator of VersionProfile instances for property testing. +func VersionProfileGenerator() gopter.Gen { + if versionProfileGenerator != nil { + return versionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile(generators) + versionProfileGenerator = gen.Struct(reflect.TypeOf(VersionProfile{}), generators) + + return versionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen.go new file mode 100644 index 00000000000..b03bae19e07 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen.go @@ -0,0 +1,464 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +// HCP cluster resource +type HcpOpenShiftCluster_STATUS struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *HcpOpenShiftClusterProperties_STATUS `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// HCP cluster properties +type HcpOpenShiftClusterProperties_STATUS struct { + // Api: Shows the cluster API server profile + Api *ApiProfile_STATUS `json:"api,omitempty"` + + // Autoscaling: Configure ClusterAutoscaling . + Autoscaling *ClusterAutoscalingProfile_STATUS `json:"autoscaling,omitempty"` + + // ClusterImageRegistry: OpenShift internal image registry + ClusterImageRegistry *ClusterImageRegistryProfile_STATUS `json:"clusterImageRegistry,omitempty"` + + // Console: Shows the cluster web console information + Console *ConsoleProfile_STATUS `json:"console,omitempty"` + + // Dns: Cluster DNS configuration + Dns *DnsProfile_STATUS `json:"dns,omitempty"` + + // Etcd: Configure ETCD. + Etcd *EtcdProfile_STATUS `json:"etcd,omitempty"` + + // Network: Cluster network configuration + Network *NetworkProfile_STATUS `json:"network,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are in minutes and from 0 to 10080 minutes (1 week). + // 0 means that the MachinePool can be drained without any time limitation. + // This is the value is used a default for all NodePools. It can be overridden + // by specifying nodeDrainTimeoutMinutes for a given NodePool + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure platform configuration + Platform *PlatformProfile_STATUS `json:"platform,omitempty"` + + // ProvisioningState: The status of the last operation. + ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Version: Version of the control plane components + Version *VersionProfile_STATUS `json:"version,omitempty"` +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_STATUS struct { + // PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + // assigned identity. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + // identity. + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + // dictionary keys will be ARM resource ids in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + // The dictionary values can be empty objects ({}) in requests. + UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +// Information about the API of a cluster. +type ApiProfile_STATUS struct { + // AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries. + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + + // Url: URL endpoint for the API server + Url *string `json:"url,omitempty"` + + // Visibility: The internet visibility of the OpenShift API server + Visibility *ApiProfile_Visibility_STATUS `json:"visibility,omitempty"` +} + +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile_STATUS struct { + // MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + // considering the + // provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + + // MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + // The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + + // MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + // down a NodePool. + // The default is 600 seconds. + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + + // PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + // autoscaler actions, + // but only run when there are spare resources available. The default is -10. + // See the following for more details: + // https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` +} + +// OpenShift cluster image registry +type ClusterImageRegistryProfile_STATUS struct { + // State: state indicates the desired ImageStream-backed cluster image registry installation mode. + // This can only be set during cluster creation and cannot be changed after cluster creation. + // Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + // the cluster. Disabled means the ImageStream-backed image registry will not be present in + // the cluster. The default is Enabled. + State *ClusterImageRegistryProfile_State_STATUS `json:"state,omitempty"` +} + +// Configuration of the cluster web console +type ConsoleProfile_STATUS struct { + // Url: The cluster web console URL endpoint + Url *string `json:"url,omitempty"` +} + +// DNS contains the DNS settings of the cluster +type DnsProfile_STATUS struct { + // BaseDomain: BaseDomain is the base DNS domain of the cluster. + BaseDomain *string `json:"baseDomain,omitempty"` + + // BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + // BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` +} + +// The ETCD settings and configuration options. +type EtcdProfile_STATUS struct { + // DataEncryption: ETCD Data Encryption settings. + // If not specified platform managed keys are used. + DataEncryption *EtcdDataEncryptionProfile_STATUS `json:"dataEncryption,omitempty"` +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +type ManagedServiceIdentityType_STATUS string + +const ( + ManagedServiceIdentityType_STATUS_None = ManagedServiceIdentityType_STATUS("None") + ManagedServiceIdentityType_STATUS_SystemAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned") + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_STATUS_UserAssigned = ManagedServiceIdentityType_STATUS("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType_STATUS +var managedServiceIdentityType_STATUS_Values = map[string]ManagedServiceIdentityType_STATUS{ + "none": ManagedServiceIdentityType_STATUS_None, + "systemassigned": ManagedServiceIdentityType_STATUS_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_STATUS_UserAssigned, +} + +// OpenShift networking configuration +type NetworkProfile_STATUS struct { + // HostPrefix: Network host prefix + HostPrefix *int `json:"hostPrefix,omitempty"` + + // MachineCidr: The CIDR block from which to assign machine IP addresses + MachineCidr *string `json:"machineCidr,omitempty"` + + // NetworkType: The main controller responsible for rendering the core networking components + NetworkType *NetworkProfile_NetworkType_STATUS `json:"networkType,omitempty"` + + // PodCidr: The CIDR of the pod IP addresses + PodCidr *string `json:"podCidr,omitempty"` + + // ServiceCidr: The CIDR block for assigned service IPs + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +// Azure specific configuration +type PlatformProfile_STATUS struct { + // IssuerUrl: URL for the OIDC provider to be used for authentication + // to authenticate against user Azure cloud account + IssuerUrl *string `json:"issuerUrl,omitempty"` + + // ManagedResourceGroup: Resource group to put cluster resources + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + + // NetworkSecurityGroupId: ResourceId for the NSG (network security group) attached to the cluster subnet + // Note that NSGs cannot be reused for other ARO-HCP clusters. + NetworkSecurityGroupId *string `json:"networkSecurityGroupId,omitempty"` + + // OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure + OperatorsAuthentication *OperatorsAuthenticationProfile_STATUS `json:"operatorsAuthentication,omitempty"` + + // OutboundType: The core outgoing configuration + OutboundType *PlatformProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters. + SubnetId *string `json:"subnetId,omitempty"` +} + +// The resource provisioning state. +type ProvisioningState_STATUS string + +const ( + ProvisioningState_STATUS_Accepted = ProvisioningState_STATUS("Accepted") + ProvisioningState_STATUS_Canceled = ProvisioningState_STATUS("Canceled") + ProvisioningState_STATUS_Deleting = ProvisioningState_STATUS("Deleting") + ProvisioningState_STATUS_Failed = ProvisioningState_STATUS("Failed") + ProvisioningState_STATUS_Provisioning = ProvisioningState_STATUS("Provisioning") + ProvisioningState_STATUS_Succeeded = ProvisioningState_STATUS("Succeeded") + ProvisioningState_STATUS_Updating = ProvisioningState_STATUS("Updating") +) + +// Mapping from string to ProvisioningState_STATUS +var provisioningState_STATUS_Values = map[string]ProvisioningState_STATUS{ + "accepted": ProvisioningState_STATUS_Accepted, + "canceled": ProvisioningState_STATUS_Canceled, + "deleting": ProvisioningState_STATUS_Deleting, + "failed": ProvisioningState_STATUS_Failed, + "provisioning": ProvisioningState_STATUS_Provisioning, + "succeeded": ProvisioningState_STATUS_Succeeded, + "updating": ProvisioningState_STATUS_Updating, +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} + +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal ID of the assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +// Versions represents an OpenShift version. +type VersionProfile_STATUS struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +type ApiProfile_Visibility_STATUS string + +const ( + ApiProfile_Visibility_STATUS_Private = ApiProfile_Visibility_STATUS("Private") + ApiProfile_Visibility_STATUS_Public = ApiProfile_Visibility_STATUS("Public") +) + +// Mapping from string to ApiProfile_Visibility_STATUS +var apiProfile_Visibility_STATUS_Values = map[string]ApiProfile_Visibility_STATUS{ + "private": ApiProfile_Visibility_STATUS_Private, + "public": ApiProfile_Visibility_STATUS_Public, +} + +type ClusterImageRegistryProfile_State_STATUS string + +const ( + ClusterImageRegistryProfile_State_STATUS_Disabled = ClusterImageRegistryProfile_State_STATUS("Disabled") + ClusterImageRegistryProfile_State_STATUS_Enabled = ClusterImageRegistryProfile_State_STATUS("Enabled") +) + +// Mapping from string to ClusterImageRegistryProfile_State_STATUS +var clusterImageRegistryProfile_State_STATUS_Values = map[string]ClusterImageRegistryProfile_State_STATUS{ + "disabled": ClusterImageRegistryProfile_State_STATUS_Disabled, + "enabled": ClusterImageRegistryProfile_State_STATUS_Enabled, +} + +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile_STATUS struct { + // CustomerManaged: Specify customer managed encryption key details. + // Required when keyManagementMode is "CustomerManaged". + CustomerManaged *CustomerManagedEncryptionProfile_STATUS `json:"customerManaged,omitempty"` + + // KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + // By default, "PlatformManaged" is used. + KeyManagementMode *EtcdDataEncryptionProfile_KeyManagementMode_STATUS `json:"keyManagementMode,omitempty"` +} + +type NetworkProfile_NetworkType_STATUS string + +const ( + NetworkProfile_NetworkType_STATUS_OVNKubernetes = NetworkProfile_NetworkType_STATUS("OVNKubernetes") + NetworkProfile_NetworkType_STATUS_Other = NetworkProfile_NetworkType_STATUS("Other") +) + +// Mapping from string to NetworkProfile_NetworkType_STATUS +var networkProfile_NetworkType_STATUS_Values = map[string]NetworkProfile_NetworkType_STATUS{ + "ovnkubernetes": NetworkProfile_NetworkType_STATUS_OVNKubernetes, + "other": NetworkProfile_NetworkType_STATUS_Other, +} + +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile_STATUS struct { + // UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + // to perform Operators authentication based on Azure User-Assigned Managed Identities + UserAssignedIdentities *UserAssignedIdentitiesProfile_STATUS `json:"userAssignedIdentities,omitempty"` +} + +type PlatformProfile_OutboundType_STATUS string + +const PlatformProfile_OutboundType_STATUS_LoadBalancer = PlatformProfile_OutboundType_STATUS("LoadBalancer") + +// Mapping from string to PlatformProfile_OutboundType_STATUS +var platformProfile_OutboundType_STATUS_Values = map[string]PlatformProfile_OutboundType_STATUS{ + "loadbalancer": PlatformProfile_OutboundType_STATUS_LoadBalancer, +} + +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile_STATUS struct { + // EncryptionType: The encryption type used. + // By default, "KMS" is used. + EncryptionType *CustomerManagedEncryptionProfile_EncryptionType_STATUS `json:"encryptionType,omitempty"` + + // Kms: The Key Management Service (KMS) encryption key details. + // Required when encryptionType is "KMS". + Kms *KmsEncryptionProfile_STATUS `json:"kms,omitempty"` +} + +type EtcdDataEncryptionProfile_KeyManagementMode_STATUS string + +const ( + EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged = EtcdDataEncryptionProfile_KeyManagementMode_STATUS("CustomerManaged") + EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged = EtcdDataEncryptionProfile_KeyManagementMode_STATUS("PlatformManaged") +) + +// Mapping from string to EtcdDataEncryptionProfile_KeyManagementMode_STATUS +var etcdDataEncryptionProfile_KeyManagementMode_STATUS_Values = map[string]EtcdDataEncryptionProfile_KeyManagementMode_STATUS{ + "customermanaged": EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged, + "platformmanaged": EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged, +} + +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile_STATUS struct { + // ControlPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + ControlPlaneOperators map[string]string `json:"controlPlaneOperators,omitempty"` + + // DataPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + DataPlaneOperators map[string]string `json:"dataPlaneOperators,omitempty"` + + // ServiceManagedIdentity: Represents the information associated to an Azure User-Assigned Managed Identity whose + // purpose is to perform service level actions. + ServiceManagedIdentity *string `json:"serviceManagedIdentity,omitempty"` +} + +type CustomerManagedEncryptionProfile_EncryptionType_STATUS string + +const CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS = CustomerManagedEncryptionProfile_EncryptionType_STATUS("KMS") + +// Mapping from string to CustomerManagedEncryptionProfile_EncryptionType_STATUS +var customerManagedEncryptionProfile_EncryptionType_STATUS_Values = map[string]CustomerManagedEncryptionProfile_EncryptionType_STATUS{ + "kms": CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS, +} + +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile_STATUS struct { + // ActiveKey: The details of the active key. + ActiveKey *KmsKey_STATUS `json:"activeKey,omitempty"` +} + +// A representation of a KeyVault Secret. +type KmsKey_STATUS struct { + // Name: name is the name of the keyvault key used for encryption/decryption. + Name *string `json:"name,omitempty"` + + // VaultName: vaultName is the name of the keyvault that contains the secret. + VaultName *string `json:"vaultName,omitempty"` + + // Version: version contains the version of the key to use. + Version *string `json:"version,omitempty"` +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen_test.go new file mode 100644 index 00000000000..57d10fe9708 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_cluster_status_types_gen_test.go @@ -0,0 +1,1386 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ApiProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile_STATUS, ApiProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile_STATUS runs a test to see if a specific instance of ApiProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile_STATUS(subject ApiProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile_STATUS instances for property testing - lazily instantiated by ApiProfile_STATUSGenerator() +var apiProfile_STATUSGenerator gopter.Gen + +// ApiProfile_STATUSGenerator returns a generator of ApiProfile_STATUS instances for property testing. +func ApiProfile_STATUSGenerator() gopter.Gen { + if apiProfile_STATUSGenerator != nil { + return apiProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile_STATUS(generators) + apiProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ApiProfile_STATUS{}), generators) + + return apiProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.OneConstOf(ApiProfile_Visibility_STATUS_Private, ApiProfile_Visibility_STATUS_Public)) +} + +func Test_ClusterAutoscalingProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile_STATUS, ClusterAutoscalingProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile_STATUS runs a test to see if a specific instance of ClusterAutoscalingProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile_STATUS(subject ClusterAutoscalingProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile_STATUS instances for property testing - lazily instantiated by +// ClusterAutoscalingProfile_STATUSGenerator() +var clusterAutoscalingProfile_STATUSGenerator gopter.Gen + +// ClusterAutoscalingProfile_STATUSGenerator returns a generator of ClusterAutoscalingProfile_STATUS instances for property testing. +func ClusterAutoscalingProfile_STATUSGenerator() gopter.Gen { + if clusterAutoscalingProfile_STATUSGenerator != nil { + return clusterAutoscalingProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(generators) + clusterAutoscalingProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile_STATUS{}), generators) + + return clusterAutoscalingProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterImageRegistryProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile_STATUS, ClusterImageRegistryProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile_STATUS runs a test to see if a specific instance of ClusterImageRegistryProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile_STATUS(subject ClusterImageRegistryProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile_STATUS instances for property testing - lazily instantiated by +// ClusterImageRegistryProfile_STATUSGenerator() +var clusterImageRegistryProfile_STATUSGenerator gopter.Gen + +// ClusterImageRegistryProfile_STATUSGenerator returns a generator of ClusterImageRegistryProfile_STATUS instances for property testing. +func ClusterImageRegistryProfile_STATUSGenerator() gopter.Gen { + if clusterImageRegistryProfile_STATUSGenerator != nil { + return clusterImageRegistryProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(generators) + clusterImageRegistryProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile_STATUS{}), generators) + + return clusterImageRegistryProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.OneConstOf(ClusterImageRegistryProfile_State_STATUS_Disabled, ClusterImageRegistryProfile_State_STATUS_Enabled)) +} + +func Test_ConsoleProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ConsoleProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConsoleProfile_STATUS, ConsoleProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConsoleProfile_STATUS runs a test to see if a specific instance of ConsoleProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConsoleProfile_STATUS(subject ConsoleProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ConsoleProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ConsoleProfile_STATUS instances for property testing - lazily instantiated by +// ConsoleProfile_STATUSGenerator() +var consoleProfile_STATUSGenerator gopter.Gen + +// ConsoleProfile_STATUSGenerator returns a generator of ConsoleProfile_STATUS instances for property testing. +func ConsoleProfile_STATUSGenerator() gopter.Gen { + if consoleProfile_STATUSGenerator != nil { + return consoleProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(generators) + consoleProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ConsoleProfile_STATUS{}), generators) + + return consoleProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConsoleProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(gens map[string]gopter.Gen) { + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomerManagedEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS, CustomerManagedEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS runs a test to see if a specific instance of CustomerManagedEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS(subject CustomerManagedEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfile_STATUSGenerator() +var customerManagedEncryptionProfile_STATUSGenerator gopter.Gen + +// CustomerManagedEncryptionProfile_STATUSGenerator returns a generator of CustomerManagedEncryptionProfile_STATUS instances for property testing. +// We first initialize customerManagedEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfile_STATUSGenerator() gopter.Gen { + if customerManagedEncryptionProfile_STATUSGenerator != nil { + return customerManagedEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + return customerManagedEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.OneConstOf(CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS)) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfile_STATUSGenerator()) +} + +func Test_DnsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile_STATUS, DnsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile_STATUS runs a test to see if a specific instance of DnsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile_STATUS(subject DnsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile_STATUS instances for property testing - lazily instantiated by DnsProfile_STATUSGenerator() +var dnsProfile_STATUSGenerator gopter.Gen + +// DnsProfile_STATUSGenerator returns a generator of DnsProfile_STATUS instances for property testing. +func DnsProfile_STATUSGenerator() gopter.Gen { + if dnsProfile_STATUSGenerator != nil { + return dnsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile_STATUS(generators) + dnsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(DnsProfile_STATUS{}), generators) + + return dnsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile_STATUS(gens map[string]gopter.Gen) { + gens["BaseDomain"] = gen.PtrOf(gen.AlphaString()) + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EtcdDataEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS, EtcdDataEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS runs a test to see if a specific instance of EtcdDataEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS(subject EtcdDataEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfile_STATUSGenerator() +var etcdDataEncryptionProfile_STATUSGenerator gopter.Gen + +// EtcdDataEncryptionProfile_STATUSGenerator returns a generator of EtcdDataEncryptionProfile_STATUS instances for property testing. +// We first initialize etcdDataEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfile_STATUSGenerator() gopter.Gen { + if etcdDataEncryptionProfile_STATUSGenerator != nil { + return etcdDataEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + return etcdDataEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.OneConstOf(EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged, EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged)) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfile_STATUSGenerator()) +} + +func Test_EtcdProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile_STATUS, EtcdProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile_STATUS runs a test to see if a specific instance of EtcdProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile_STATUS(subject EtcdProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile_STATUS instances for property testing - lazily instantiated by EtcdProfile_STATUSGenerator() +var etcdProfile_STATUSGenerator gopter.Gen + +// EtcdProfile_STATUSGenerator returns a generator of EtcdProfile_STATUS instances for property testing. +func EtcdProfile_STATUSGenerator() gopter.Gen { + if etcdProfile_STATUSGenerator != nil { + return etcdProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(generators) + etcdProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdProfile_STATUS{}), generators) + + return etcdProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS, HcpOpenShiftClusterProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS runs a test to see if a specific instance of HcpOpenShiftClusterProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS(subject HcpOpenShiftClusterProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClusterProperties_STATUSGenerator() +var hcpOpenShiftClusterProperties_STATUSGenerator gopter.Gen + +// HcpOpenShiftClusterProperties_STATUSGenerator returns a generator of HcpOpenShiftClusterProperties_STATUS instances for property testing. +// We first initialize hcpOpenShiftClusterProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterProperties_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClusterProperties_STATUSGenerator != nil { + return hcpOpenShiftClusterProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + return hcpOpenShiftClusterProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_Accepted, + ProvisioningState_STATUS_Canceled, + ProvisioningState_STATUS_Deleting, + ProvisioningState_STATUS_Failed, + ProvisioningState_STATUS_Provisioning, + ProvisioningState_STATUS_Succeeded, + ProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfile_STATUSGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfile_STATUSGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfile_STATUSGenerator()) + gens["Console"] = gen.PtrOf(ConsoleProfile_STATUSGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfile_STATUSGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfile_STATUSGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfile_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfile_STATUSGenerator()) + gens["Version"] = gen.PtrOf(VersionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_STATUS, HcpOpenShiftCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_STATUS runs a test to see if a specific instance of HcpOpenShiftCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_STATUS(subject HcpOpenShiftCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_STATUSGenerator() +var hcpOpenShiftCluster_STATUSGenerator gopter.Gen + +// HcpOpenShiftCluster_STATUSGenerator returns a generator of HcpOpenShiftCluster_STATUS instances for property testing. +// We first initialize hcpOpenShiftCluster_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_STATUSGenerator() gopter.Gen { + if hcpOpenShiftCluster_STATUSGenerator != nil { + return hcpOpenShiftCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + return hcpOpenShiftCluster_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_KmsEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile_STATUS, KmsEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile_STATUS runs a test to see if a specific instance of KmsEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile_STATUS(subject KmsEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// KmsEncryptionProfile_STATUSGenerator() +var kmsEncryptionProfile_STATUSGenerator gopter.Gen + +// KmsEncryptionProfile_STATUSGenerator returns a generator of KmsEncryptionProfile_STATUS instances for property testing. +func KmsEncryptionProfile_STATUSGenerator() gopter.Gen { + if kmsEncryptionProfile_STATUSGenerator != nil { + return kmsEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(generators) + kmsEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile_STATUS{}), generators) + + return kmsEncryptionProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKey_STATUSGenerator()) +} + +func Test_KmsKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey_STATUS, KmsKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey_STATUS runs a test to see if a specific instance of KmsKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey_STATUS(subject KmsKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey_STATUS instances for property testing - lazily instantiated by KmsKey_STATUSGenerator() +var kmsKey_STATUSGenerator gopter.Gen + +// KmsKey_STATUSGenerator returns a generator of KmsKey_STATUS instances for property testing. +func KmsKey_STATUSGenerator() gopter.Gen { + if kmsKey_STATUSGenerator != nil { + return kmsKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey_STATUS(generators) + kmsKey_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsKey_STATUS{}), generators) + + return kmsKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_STATUS_None, + ManagedServiceIdentityType_STATUS_SystemAssigned, + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + ManagedServiceIdentityType_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_NetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile_STATUS, NetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile_STATUS runs a test to see if a specific instance of NetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile_STATUS(subject NetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile_STATUS instances for property testing - lazily instantiated by +// NetworkProfile_STATUSGenerator() +var networkProfile_STATUSGenerator gopter.Gen + +// NetworkProfile_STATUSGenerator returns a generator of NetworkProfile_STATUS instances for property testing. +func NetworkProfile_STATUSGenerator() gopter.Gen { + if networkProfile_STATUSGenerator != nil { + return networkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(generators) + networkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NetworkProfile_STATUS{}), generators) + + return networkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.OneConstOf(NetworkProfile_NetworkType_STATUS_OVNKubernetes, NetworkProfile_NetworkType_STATUS_Other)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OperatorsAuthenticationProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS, OperatorsAuthenticationProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS runs a test to see if a specific instance of OperatorsAuthenticationProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS(subject OperatorsAuthenticationProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile_STATUS instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfile_STATUSGenerator() +var operatorsAuthenticationProfile_STATUSGenerator gopter.Gen + +// OperatorsAuthenticationProfile_STATUSGenerator returns a generator of OperatorsAuthenticationProfile_STATUS instances for property testing. +func OperatorsAuthenticationProfile_STATUSGenerator() gopter.Gen { + if operatorsAuthenticationProfile_STATUSGenerator != nil { + return operatorsAuthenticationProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(generators) + operatorsAuthenticationProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile_STATUS{}), generators) + + return operatorsAuthenticationProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfile_STATUSGenerator()) +} + +func Test_PlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile_STATUS, PlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile_STATUS runs a test to see if a specific instance of PlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile_STATUS(subject PlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile_STATUS instances for property testing - lazily instantiated by +// PlatformProfile_STATUSGenerator() +var platformProfile_STATUSGenerator gopter.Gen + +// PlatformProfile_STATUSGenerator returns a generator of PlatformProfile_STATUS instances for property testing. +// We first initialize platformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfile_STATUSGenerator() gopter.Gen { + if platformProfile_STATUSGenerator != nil { + return platformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + return platformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["IssuerUrl"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkSecurityGroupId"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf(PlatformProfile_OutboundType_STATUS_LoadBalancer)) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfile_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_UserAssignedIdentitiesProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS, UserAssignedIdentitiesProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS runs a test to see if a specific instance of UserAssignedIdentitiesProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS(subject UserAssignedIdentitiesProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfile_STATUSGenerator() +var userAssignedIdentitiesProfile_STATUSGenerator gopter.Gen + +// UserAssignedIdentitiesProfile_STATUSGenerator returns a generator of UserAssignedIdentitiesProfile_STATUS instances for property testing. +func UserAssignedIdentitiesProfile_STATUSGenerator() gopter.Gen { + if userAssignedIdentitiesProfile_STATUSGenerator != nil { + return userAssignedIdentitiesProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(generators) + userAssignedIdentitiesProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile_STATUS{}), generators) + + return userAssignedIdentitiesProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(gens map[string]gopter.Gen) { + gens["ControlPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["DataPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ServiceManagedIdentity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile_STATUS, VersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile_STATUS runs a test to see if a specific instance of VersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile_STATUS(subject VersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile_STATUS instances for property testing - lazily instantiated by +// VersionProfile_STATUSGenerator() +var versionProfile_STATUSGenerator gopter.Gen + +// VersionProfile_STATUSGenerator returns a generator of VersionProfile_STATUS instances for property testing. +func VersionProfile_STATUSGenerator() gopter.Gen { + if versionProfile_STATUSGenerator != nil { + return versionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile_STATUS(generators) + versionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(VersionProfile_STATUS{}), generators) + + return versionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen.go new file mode 100644 index 00000000000..46650faa5c8 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen.go @@ -0,0 +1,238 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type HcpOpenShiftClustersExternalAuth_Spec struct { + Name string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *ExternalAuthProperties `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &HcpOpenShiftClustersExternalAuth_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (auth HcpOpenShiftClustersExternalAuth_Spec) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetName returns the Name of the resource +func (auth *HcpOpenShiftClustersExternalAuth_Spec) GetName() string { + return auth.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +func (auth *HcpOpenShiftClustersExternalAuth_Spec) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +} + +// External Auth profile +type ExternalAuthProperties struct { + // Claim: External Auth claim + // This configures how claims are validated and applied. + Claim *ExternalAuthClaimProfile `json:"claim,omitempty"` + + // Clients: External Auth OIDC clients + // There must not be more than 20 entries and entries must have unique namespace/name pairs. + Clients []ExternalAuthClientProfile `json:"clients,omitempty"` + + // Issuer: Token Issuer profile + Issuer *TokenIssuerProfile `json:"issuer,omitempty"` +} + +// External Auth claim profile +type ExternalAuthClaimProfile struct { + // Mappings: The claim mappings + Mappings *TokenClaimMappingsProfile `json:"mappings,omitempty"` + + // ValidationRules: The claim validation rules + ValidationRules []TokenClaimValidationRule `json:"validationRules,omitempty"` +} + +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile struct { + // ClientId: External Auth client id + // The clientId must appear in the audience field of the TokenIssuerProfile. + ClientId *string `json:"clientId,omitempty"` + + // Component: External Auth client component + Component *ExternalAuthClientComponentProfile `json:"component,omitempty"` + + // ExtraScopes: external auth client scopes + // This is useful if you have configured claim mappings that requires specific + // scopes to be requested beyond the standard OIDC scopes. + // When omitted, no additional scopes are requested. + ExtraScopes []string `json:"extraScopes,omitempty"` + + // Type: Determines the OIDC provider client type. + Type *ExternalAuthClientType `json:"type,omitempty"` +} + +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile struct { + // Audiences: This configures the acceptable audiences the JWT token, issued by the identity + // provider, must be issued to. At least one of the entries must match the + // 'aud' claim in the JWT token. + // audiences must contain at least one entry and must not exceed ten entries. + Audiences []string `json:"audiences,omitempty"` + + // Ca: The issuer of the token + // Certificate bundle to use to validate server certificates for the configured URL. + // It must be PEM encoded and when not specified, the system trust is used. + Ca *string `json:"ca,omitempty"` + + // Url: This configures the URL used to issue tokens by the identity provider. + // The Kubernetes API server determines how authentication tokens should be handled + // by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + // issuerURL must use the 'https' scheme. + Url *string `json:"url,omitempty"` +} + +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile struct { + // AuthClientNamespace: The namespace of the external Auth client + // This specifies the namespace in which the platform component being configured + // to use the identity provider as an authentication mode is running. + // It is used in combination with name as a unique identifier. + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + + // Name: The name of the external auth client + // This specifies the name of the platform component being configured to use + // the identity provider as an authentication mode. + // It is used in combination with namespace as a unique identifier. + Name *string `json:"name,omitempty"` +} + +// Representation of the possible values of an external authentication client's type +// +kubebuilder:validation:Enum={"Confidential","Public"} +type ExternalAuthClientType string + +const ( + ExternalAuthClientType_Confidential = ExternalAuthClientType("Confidential") + ExternalAuthClientType_Public = ExternalAuthClientType("Public") +) + +// Mapping from string to ExternalAuthClientType +var externalAuthClientType_Values = map[string]ExternalAuthClientType{ + "confidential": ExternalAuthClientType_Confidential, + "public": ExternalAuthClientType_Public, +} + +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile struct { + // Groups: The claim mappings groups. + Groups *GroupClaimProfile `json:"groups,omitempty"` + + // Username: The claim mappings username. + Username *UsernameClaimProfile `json:"username,omitempty"` +} + +// External Auth claim validation rule +type TokenClaimValidationRule struct { + // RequiredClaim: The required claim rule to be applied. + RequiredClaim *TokenRequiredClaim `json:"requiredClaim,omitempty"` + + // Type: This configures the type of the validation rule. + // It defaults to "RequiredClaim" + Type *TokenClaimValidationRule_Type `json:"type,omitempty"` +} + +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // If this is specified prefixPolicy will be set to "Prefix" by default + Prefix *string `json:"prefix,omitempty"` +} + +// +kubebuilder:validation:Enum={"RequiredClaim"} +type TokenClaimValidationRule_Type string + +const TokenClaimValidationRule_Type_RequiredClaim = TokenClaimValidationRule_Type("RequiredClaim") + +// Mapping from string to TokenClaimValidationRule_Type +var tokenClaimValidationRule_Type_Values = map[string]TokenClaimValidationRule_Type{ + "requiredclaim": TokenClaimValidationRule_Type_RequiredClaim, +} + +// Token required claim validation rule. +type TokenRequiredClaim struct { + // Claim: Claim name for the validation profile + // claim is a required field that configures the name of the required claim. + Claim *string `json:"claim,omitempty"` + + // RequiredValue: Required value + // requiredValue is a required field that configures the value that 'claim' must + // have when taken from the incoming JWT claims. + // If the value in the JWT claims does not match, the token + // will be rejected for authentication. + RequiredValue *string `json:"requiredValue,omitempty"` +} + +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + // otherwise. + Prefix *string `json:"prefix,omitempty"` + + // PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + // applied to the value of the JWT claim specified in the 'claim' field. + // Allowed values are 'Prefix', 'NoPrefix', and 'None'. + // When set to 'Prefix', the value specified in the prefix field will be + // prepended to the value of the JWT claim. + // The prefix field must be set when prefixPolicy is 'Prefix'. + // When set to 'NoPrefix', no prefix will be prepended to the value + // of the JWT claim. + // When set to 'None', this means no opinion and the platform is left to choose + // any prefixes that are applied which is subject to change over time. + // Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + // when the claim is not 'email'. + // As an example, consider the following scenario: + // `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + // the JWT claims include "username":"userA" and "email":"userA + PrefixPolicy *UsernameClaimPrefixPolicy `json:"prefixPolicy,omitempty"` +} + +// UsernameClaimPrefixPolicy configures whether to add a prefix to a JWT claim. +// +kubebuilder:validation:Enum={"NoPrefix","None","Prefix"} +type UsernameClaimPrefixPolicy string + +const ( + UsernameClaimPrefixPolicy_NoPrefix = UsernameClaimPrefixPolicy("NoPrefix") + UsernameClaimPrefixPolicy_None = UsernameClaimPrefixPolicy("None") + UsernameClaimPrefixPolicy_Prefix = UsernameClaimPrefixPolicy("Prefix") +) + +// Mapping from string to UsernameClaimPrefixPolicy +var usernameClaimPrefixPolicy_Values = map[string]UsernameClaimPrefixPolicy{ + "noprefix": UsernameClaimPrefixPolicy_NoPrefix, + "none": UsernameClaimPrefixPolicy_None, + "prefix": UsernameClaimPrefixPolicy_Prefix, +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen_test.go new file mode 100644 index 00000000000..e390bc658cc --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_spec_types_gen_test.go @@ -0,0 +1,741 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ExternalAuthClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile, ExternalAuthClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile runs a test to see if a specific instance of ExternalAuthClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile(subject ExternalAuthClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile instances for property testing - lazily instantiated by +// ExternalAuthClaimProfileGenerator() +var externalAuthClaimProfileGenerator gopter.Gen + +// ExternalAuthClaimProfileGenerator returns a generator of ExternalAuthClaimProfile instances for property testing. +func ExternalAuthClaimProfileGenerator() gopter.Gen { + if externalAuthClaimProfileGenerator != nil { + return externalAuthClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(generators) + externalAuthClaimProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile{}), generators) + + return externalAuthClaimProfileGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfileGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRuleGenerator()) +} + +func Test_ExternalAuthClientComponentProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile, ExternalAuthClientComponentProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile runs a test to see if a specific instance of ExternalAuthClientComponentProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile(subject ExternalAuthClientComponentProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfileGenerator() +var externalAuthClientComponentProfileGenerator gopter.Gen + +// ExternalAuthClientComponentProfileGenerator returns a generator of ExternalAuthClientComponentProfile instances for property testing. +func ExternalAuthClientComponentProfileGenerator() gopter.Gen { + if externalAuthClientComponentProfileGenerator != nil { + return externalAuthClientComponentProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(generators) + externalAuthClientComponentProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile{}), generators) + + return externalAuthClientComponentProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile, ExternalAuthClientProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile runs a test to see if a specific instance of ExternalAuthClientProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile(subject ExternalAuthClientProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile instances for property testing - lazily instantiated by +// ExternalAuthClientProfileGenerator() +var externalAuthClientProfileGenerator gopter.Gen + +// ExternalAuthClientProfileGenerator returns a generator of ExternalAuthClientProfile instances for property testing. +// We first initialize externalAuthClientProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfileGenerator() gopter.Gen { + if externalAuthClientProfileGenerator != nil { + return externalAuthClientProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + return externalAuthClientProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthClientType_Confidential, ExternalAuthClientType_Public)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfileGenerator()) +} + +func Test_ExternalAuthProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties, ExternalAuthPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties runs a test to see if a specific instance of ExternalAuthProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties(subject ExternalAuthProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties instances for property testing - lazily instantiated by +// ExternalAuthPropertiesGenerator() +var externalAuthPropertiesGenerator gopter.Gen + +// ExternalAuthPropertiesGenerator returns a generator of ExternalAuthProperties instances for property testing. +func ExternalAuthPropertiesGenerator() gopter.Gen { + if externalAuthPropertiesGenerator != nil { + return externalAuthPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthProperties(generators) + externalAuthPropertiesGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties{}), generators) + + return externalAuthPropertiesGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfileGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfileGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfileGenerator()) +} + +func Test_GroupClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile, GroupClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile runs a test to see if a specific instance of GroupClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile(subject GroupClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile instances for property testing - lazily instantiated by GroupClaimProfileGenerator() +var groupClaimProfileGenerator gopter.Gen + +// GroupClaimProfileGenerator returns a generator of GroupClaimProfile instances for property testing. +func GroupClaimProfileGenerator() gopter.Gen { + if groupClaimProfileGenerator != nil { + return groupClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile(generators) + groupClaimProfileGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile{}), generators) + + return groupClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HcpOpenShiftClustersExternalAuth_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec, HcpOpenShiftClustersExternalAuth_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec(subject HcpOpenShiftClustersExternalAuth_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_SpecGenerator() +var hcpOpenShiftClustersExternalAuth_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_SpecGenerator returns a generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_SpecGenerator != nil { + return hcpOpenShiftClustersExternalAuth_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + return hcpOpenShiftClustersExternalAuth_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ExternalAuthPropertiesGenerator()) +} + +func Test_TokenClaimMappingsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile, TokenClaimMappingsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile runs a test to see if a specific instance of TokenClaimMappingsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile(subject TokenClaimMappingsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile instances for property testing - lazily instantiated by +// TokenClaimMappingsProfileGenerator() +var tokenClaimMappingsProfileGenerator gopter.Gen + +// TokenClaimMappingsProfileGenerator returns a generator of TokenClaimMappingsProfile instances for property testing. +func TokenClaimMappingsProfileGenerator() gopter.Gen { + if tokenClaimMappingsProfileGenerator != nil { + return tokenClaimMappingsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(generators) + tokenClaimMappingsProfileGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile{}), generators) + + return tokenClaimMappingsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfileGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfileGenerator()) +} + +func Test_TokenClaimValidationRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule, TokenClaimValidationRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule runs a test to see if a specific instance of TokenClaimValidationRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule(subject TokenClaimValidationRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule instances for property testing - lazily instantiated by +// TokenClaimValidationRuleGenerator() +var tokenClaimValidationRuleGenerator gopter.Gen + +// TokenClaimValidationRuleGenerator returns a generator of TokenClaimValidationRule instances for property testing. +// We first initialize tokenClaimValidationRuleGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRuleGenerator() gopter.Gen { + if tokenClaimValidationRuleGenerator != nil { + return tokenClaimValidationRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + return tokenClaimValidationRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(TokenClaimValidationRule_Type_RequiredClaim)) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaimGenerator()) +} + +func Test_TokenIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile, TokenIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile runs a test to see if a specific instance of TokenIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile(subject TokenIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile instances for property testing - lazily instantiated by TokenIssuerProfileGenerator() +var tokenIssuerProfileGenerator gopter.Gen + +// TokenIssuerProfileGenerator returns a generator of TokenIssuerProfile instances for property testing. +func TokenIssuerProfileGenerator() gopter.Gen { + if tokenIssuerProfileGenerator != nil { + return tokenIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile(generators) + tokenIssuerProfileGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile{}), generators) + + return tokenIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim, TokenRequiredClaimGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim runs a test to see if a specific instance of TokenRequiredClaim round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim(subject TokenRequiredClaim) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim instances for property testing - lazily instantiated by TokenRequiredClaimGenerator() +var tokenRequiredClaimGenerator gopter.Gen + +// TokenRequiredClaimGenerator returns a generator of TokenRequiredClaim instances for property testing. +func TokenRequiredClaimGenerator() gopter.Gen { + if tokenRequiredClaimGenerator != nil { + return tokenRequiredClaimGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim(generators) + tokenRequiredClaimGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim{}), generators) + + return tokenRequiredClaimGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UsernameClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile, UsernameClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile runs a test to see if a specific instance of UsernameClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile(subject UsernameClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile instances for property testing - lazily instantiated by +// UsernameClaimProfileGenerator() +var usernameClaimProfileGenerator gopter.Gen + +// UsernameClaimProfileGenerator returns a generator of UsernameClaimProfile instances for property testing. +func UsernameClaimProfileGenerator() gopter.Gen { + if usernameClaimProfileGenerator != nil { + return usernameClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile(generators) + usernameClaimProfileGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile{}), generators) + + return usernameClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.OneConstOf(UsernameClaimPrefixPolicy_NoPrefix, UsernameClaimPrefixPolicy_None, UsernameClaimPrefixPolicy_Prefix)) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen.go new file mode 100644 index 00000000000..c37a67fec00 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen.go @@ -0,0 +1,311 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type HcpOpenShiftClustersExternalAuth_STATUS struct { + // 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 *ExternalAuthProperties_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"` +} + +// External Auth profile +type ExternalAuthProperties_STATUS struct { + // Claim: External Auth claim + // This configures how claims are validated and applied. + Claim *ExternalAuthClaimProfile_STATUS `json:"claim,omitempty"` + + // Clients: External Auth OIDC clients + // There must not be more than 20 entries and entries must have unique namespace/name pairs. + Clients []ExternalAuthClientProfile_STATUS `json:"clients,omitempty"` + + // Condition: An observation of the current state with additional information. + Condition *ExternalAuthCondition_STATUS `json:"condition,omitempty"` + + // Issuer: Token Issuer profile + Issuer *TokenIssuerProfile_STATUS `json:"issuer,omitempty"` + + // ProvisioningState: Provisioning state + ProvisioningState *ExternalAuthProvisioningState_STATUS `json:"provisioningState,omitempty"` +} + +// External Auth claim profile +type ExternalAuthClaimProfile_STATUS struct { + // Mappings: The claim mappings + Mappings *TokenClaimMappingsProfile_STATUS `json:"mappings,omitempty"` + + // ValidationRules: The claim validation rules + ValidationRules []TokenClaimValidationRule_STATUS `json:"validationRules,omitempty"` +} + +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile_STATUS struct { + // ClientId: External Auth client id + // The clientId must appear in the audience field of the TokenIssuerProfile. + ClientId *string `json:"clientId,omitempty"` + + // Component: External Auth client component + Component *ExternalAuthClientComponentProfile_STATUS `json:"component,omitempty"` + + // ExtraScopes: external auth client scopes + // This is useful if you have configured claim mappings that requires specific + // scopes to be requested beyond the standard OIDC scopes. + // When omitted, no additional scopes are requested. + ExtraScopes []string `json:"extraScopes,omitempty"` + + // Type: Determines the OIDC provider client type. + Type *ExternalAuthClientType_STATUS `json:"type,omitempty"` +} + +// Condition defines an observation of the external auth state. +type ExternalAuthCondition_STATUS struct { + // LastTransitionTime: The last time the condition transitioned from one status to another. + LastTransitionTime *string `json:"lastTransitionTime,omitempty"` + + // Message: This is a human readable message indicating details about the transition. + // This may be an empty string. + Message *string `json:"message,omitempty"` + + // Reason: This contains a programmatic identifier indicating the reason for the condition's last transition. + Reason *string `json:"reason,omitempty"` + + // Status: The status of the condition. + Status *StatusType_STATUS `json:"status,omitempty"` + + // Type: This is a PascalCase (or in foo.example.com/PascalCase) code to represent the type of condition. + Type *ExternalAuthConditionType_STATUS `json:"type,omitempty"` +} + +// The resource provisioning state. +type ExternalAuthProvisioningState_STATUS string + +const ( + ExternalAuthProvisioningState_STATUS_Accepted = ExternalAuthProvisioningState_STATUS("Accepted") + ExternalAuthProvisioningState_STATUS_AwaitingSecret = ExternalAuthProvisioningState_STATUS("AwaitingSecret") + ExternalAuthProvisioningState_STATUS_Canceled = ExternalAuthProvisioningState_STATUS("Canceled") + ExternalAuthProvisioningState_STATUS_Deleting = ExternalAuthProvisioningState_STATUS("Deleting") + ExternalAuthProvisioningState_STATUS_Failed = ExternalAuthProvisioningState_STATUS("Failed") + ExternalAuthProvisioningState_STATUS_Provisioning = ExternalAuthProvisioningState_STATUS("Provisioning") + ExternalAuthProvisioningState_STATUS_Succeeded = ExternalAuthProvisioningState_STATUS("Succeeded") + ExternalAuthProvisioningState_STATUS_Updating = ExternalAuthProvisioningState_STATUS("Updating") +) + +// Mapping from string to ExternalAuthProvisioningState_STATUS +var externalAuthProvisioningState_STATUS_Values = map[string]ExternalAuthProvisioningState_STATUS{ + "accepted": ExternalAuthProvisioningState_STATUS_Accepted, + "awaitingsecret": ExternalAuthProvisioningState_STATUS_AwaitingSecret, + "canceled": ExternalAuthProvisioningState_STATUS_Canceled, + "deleting": ExternalAuthProvisioningState_STATUS_Deleting, + "failed": ExternalAuthProvisioningState_STATUS_Failed, + "provisioning": ExternalAuthProvisioningState_STATUS_Provisioning, + "succeeded": ExternalAuthProvisioningState_STATUS_Succeeded, + "updating": ExternalAuthProvisioningState_STATUS_Updating, +} + +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile_STATUS struct { + // Audiences: This configures the acceptable audiences the JWT token, issued by the identity + // provider, must be issued to. At least one of the entries must match the + // 'aud' claim in the JWT token. + // audiences must contain at least one entry and must not exceed ten entries. + Audiences []string `json:"audiences,omitempty"` + + // Ca: The issuer of the token + // Certificate bundle to use to validate server certificates for the configured URL. + // It must be PEM encoded and when not specified, the system trust is used. + Ca *string `json:"ca,omitempty"` + + // Url: This configures the URL used to issue tokens by the identity provider. + // The Kubernetes API server determines how authentication tokens should be handled + // by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + // issuerURL must use the 'https' scheme. + Url *string `json:"url,omitempty"` +} + +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile_STATUS struct { + // AuthClientNamespace: The namespace of the external Auth client + // This specifies the namespace in which the platform component being configured + // to use the identity provider as an authentication mode is running. + // It is used in combination with name as a unique identifier. + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + + // Name: The name of the external auth client + // This specifies the name of the platform component being configured to use + // the identity provider as an authentication mode. + // It is used in combination with namespace as a unique identifier. + Name *string `json:"name,omitempty"` +} + +// Representation of the possible values of an external authentication client's type +// +kubebuilder:validation:Enum={"Confidential","Public"} +type ExternalAuthClientType_STATUS string + +const ( + ExternalAuthClientType_STATUS_Confidential = ExternalAuthClientType_STATUS("Confidential") + ExternalAuthClientType_STATUS_Public = ExternalAuthClientType_STATUS("Public") +) + +// Mapping from string to ExternalAuthClientType_STATUS +var externalAuthClientType_STATUS_Values = map[string]ExternalAuthClientType_STATUS{ + "confidential": ExternalAuthClientType_STATUS_Confidential, + "public": ExternalAuthClientType_STATUS_Public, +} + +// Representation of the possible types of a external auths condition. +type ExternalAuthConditionType_STATUS string + +const ( + ExternalAuthConditionType_STATUS_Available = ExternalAuthConditionType_STATUS("Available") + ExternalAuthConditionType_STATUS_Degraded = ExternalAuthConditionType_STATUS("Degraded") + ExternalAuthConditionType_STATUS_Progressing = ExternalAuthConditionType_STATUS("Progressing") +) + +// Mapping from string to ExternalAuthConditionType_STATUS +var externalAuthConditionType_STATUS_Values = map[string]ExternalAuthConditionType_STATUS{ + "available": ExternalAuthConditionType_STATUS_Available, + "degraded": ExternalAuthConditionType_STATUS_Degraded, + "progressing": ExternalAuthConditionType_STATUS_Progressing, +} + +// Representation of the possible values of a external auths condition status. +type StatusType_STATUS string + +const ( + StatusType_STATUS_False = StatusType_STATUS("False") + StatusType_STATUS_True = StatusType_STATUS("True") + StatusType_STATUS_Unknown = StatusType_STATUS("Unknown") +) + +// Mapping from string to StatusType_STATUS +var statusType_STATUS_Values = map[string]StatusType_STATUS{ + "false": StatusType_STATUS_False, + "true": StatusType_STATUS_True, + "unknown": StatusType_STATUS_Unknown, +} + +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile_STATUS struct { + // Groups: The claim mappings groups. + Groups *GroupClaimProfile_STATUS `json:"groups,omitempty"` + + // Username: The claim mappings username. + Username *UsernameClaimProfile_STATUS `json:"username,omitempty"` +} + +// External Auth claim validation rule +type TokenClaimValidationRule_STATUS struct { + // RequiredClaim: The required claim rule to be applied. + RequiredClaim *TokenRequiredClaim_STATUS `json:"requiredClaim,omitempty"` + + // Type: This configures the type of the validation rule. + // It defaults to "RequiredClaim" + Type *TokenClaimValidationRule_Type_STATUS `json:"type,omitempty"` +} + +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile_STATUS struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // If this is specified prefixPolicy will be set to "Prefix" by default + Prefix *string `json:"prefix,omitempty"` +} + +type TokenClaimValidationRule_Type_STATUS string + +const TokenClaimValidationRule_Type_STATUS_RequiredClaim = TokenClaimValidationRule_Type_STATUS("RequiredClaim") + +// Mapping from string to TokenClaimValidationRule_Type_STATUS +var tokenClaimValidationRule_Type_STATUS_Values = map[string]TokenClaimValidationRule_Type_STATUS{ + "requiredclaim": TokenClaimValidationRule_Type_STATUS_RequiredClaim, +} + +// Token required claim validation rule. +type TokenRequiredClaim_STATUS struct { + // Claim: Claim name for the validation profile + // claim is a required field that configures the name of the required claim. + Claim *string `json:"claim,omitempty"` + + // RequiredValue: Required value + // requiredValue is a required field that configures the value that 'claim' must + // have when taken from the incoming JWT claims. + // If the value in the JWT claims does not match, the token + // will be rejected for authentication. + RequiredValue *string `json:"requiredValue,omitempty"` +} + +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile_STATUS struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + // otherwise. + Prefix *string `json:"prefix,omitempty"` + + // PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + // applied to the value of the JWT claim specified in the 'claim' field. + // Allowed values are 'Prefix', 'NoPrefix', and 'None'. + // When set to 'Prefix', the value specified in the prefix field will be + // prepended to the value of the JWT claim. + // The prefix field must be set when prefixPolicy is 'Prefix'. + // When set to 'NoPrefix', no prefix will be prepended to the value + // of the JWT claim. + // When set to 'None', this means no opinion and the platform is left to choose + // any prefixes that are applied which is subject to change over time. + // Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + // when the claim is not 'email'. + // As an example, consider the following scenario: + // `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + // the JWT claims include "username":"userA" and "email":"userA + PrefixPolicy *UsernameClaimPrefixPolicy_STATUS `json:"prefixPolicy,omitempty"` +} + +// UsernameClaimPrefixPolicy configures whether to add a prefix to a JWT claim. +type UsernameClaimPrefixPolicy_STATUS string + +const ( + UsernameClaimPrefixPolicy_STATUS_NoPrefix = UsernameClaimPrefixPolicy_STATUS("NoPrefix") + UsernameClaimPrefixPolicy_STATUS_None = UsernameClaimPrefixPolicy_STATUS("None") + UsernameClaimPrefixPolicy_STATUS_Prefix = UsernameClaimPrefixPolicy_STATUS("Prefix") +) + +// Mapping from string to UsernameClaimPrefixPolicy_STATUS +var usernameClaimPrefixPolicy_STATUS_Values = map[string]UsernameClaimPrefixPolicy_STATUS{ + "noprefix": UsernameClaimPrefixPolicy_STATUS_NoPrefix, + "none": UsernameClaimPrefixPolicy_STATUS_None, + "prefix": UsernameClaimPrefixPolicy_STATUS_Prefix, +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen_test.go new file mode 100644 index 00000000000..782328f96b9 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_external_auth_status_types_gen_test.go @@ -0,0 +1,835 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ExternalAuthClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile_STATUS, ExternalAuthClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile_STATUS runs a test to see if a specific instance of ExternalAuthClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile_STATUS(subject ExternalAuthClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClaimProfile_STATUSGenerator() +var externalAuthClaimProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClaimProfile_STATUSGenerator returns a generator of ExternalAuthClaimProfile_STATUS instances for property testing. +func ExternalAuthClaimProfile_STATUSGenerator() gopter.Gen { + if externalAuthClaimProfile_STATUSGenerator != nil { + return externalAuthClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(generators) + externalAuthClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile_STATUS{}), generators) + + return externalAuthClaimProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfile_STATUSGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRule_STATUSGenerator()) +} + +func Test_ExternalAuthClientComponentProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS, ExternalAuthClientComponentProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientComponentProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS(subject ExternalAuthClientComponentProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfile_STATUSGenerator() +var externalAuthClientComponentProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientComponentProfile_STATUSGenerator returns a generator of ExternalAuthClientComponentProfile_STATUS instances for property testing. +func ExternalAuthClientComponentProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientComponentProfile_STATUSGenerator != nil { + return externalAuthClientComponentProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(generators) + externalAuthClientComponentProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile_STATUS{}), generators) + + return externalAuthClientComponentProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile_STATUS, ExternalAuthClientProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile_STATUS(subject ExternalAuthClientProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientProfile_STATUSGenerator() +var externalAuthClientProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientProfile_STATUSGenerator returns a generator of ExternalAuthClientProfile_STATUS instances for property testing. +// We first initialize externalAuthClientProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientProfile_STATUSGenerator != nil { + return externalAuthClientProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + return externalAuthClientProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthClientType_STATUS_Confidential, ExternalAuthClientType_STATUS_Public)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfile_STATUSGenerator()) +} + +func Test_ExternalAuthCondition_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthCondition_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthCondition_STATUS, ExternalAuthCondition_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthCondition_STATUS runs a test to see if a specific instance of ExternalAuthCondition_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthCondition_STATUS(subject ExternalAuthCondition_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthCondition_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthCondition_STATUS instances for property testing - lazily instantiated by +// ExternalAuthCondition_STATUSGenerator() +var externalAuthCondition_STATUSGenerator gopter.Gen + +// ExternalAuthCondition_STATUSGenerator returns a generator of ExternalAuthCondition_STATUS instances for property testing. +func ExternalAuthCondition_STATUSGenerator() gopter.Gen { + if externalAuthCondition_STATUSGenerator != nil { + return externalAuthCondition_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(generators) + externalAuthCondition_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthCondition_STATUS{}), generators) + + return externalAuthCondition_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(gens map[string]gopter.Gen) { + gens["LastTransitionTime"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Reason"] = gen.PtrOf(gen.AlphaString()) + gens["Status"] = gen.PtrOf(gen.OneConstOf(StatusType_STATUS_False, StatusType_STATUS_True, StatusType_STATUS_Unknown)) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthConditionType_STATUS_Available, ExternalAuthConditionType_STATUS_Degraded, ExternalAuthConditionType_STATUS_Progressing)) +} + +func Test_ExternalAuthProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties_STATUS, ExternalAuthProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties_STATUS runs a test to see if a specific instance of ExternalAuthProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties_STATUS(subject ExternalAuthProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties_STATUS instances for property testing - lazily instantiated by +// ExternalAuthProperties_STATUSGenerator() +var externalAuthProperties_STATUSGenerator gopter.Gen + +// ExternalAuthProperties_STATUSGenerator returns a generator of ExternalAuthProperties_STATUS instances for property testing. +// We first initialize externalAuthProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthProperties_STATUSGenerator() gopter.Gen { + if externalAuthProperties_STATUSGenerator != nil { + return externalAuthProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + return externalAuthProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ExternalAuthProvisioningState_STATUS_Accepted, + ExternalAuthProvisioningState_STATUS_AwaitingSecret, + ExternalAuthProvisioningState_STATUS_Canceled, + ExternalAuthProvisioningState_STATUS_Deleting, + ExternalAuthProvisioningState_STATUS_Failed, + ExternalAuthProvisioningState_STATUS_Provisioning, + ExternalAuthProvisioningState_STATUS_Succeeded, + ExternalAuthProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfile_STATUSGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfile_STATUSGenerator()) + gens["Condition"] = gen.PtrOf(ExternalAuthCondition_STATUSGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfile_STATUSGenerator()) +} + +func Test_GroupClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile_STATUS, GroupClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile_STATUS runs a test to see if a specific instance of GroupClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile_STATUS(subject GroupClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile_STATUS instances for property testing - lazily instantiated by +// GroupClaimProfile_STATUSGenerator() +var groupClaimProfile_STATUSGenerator gopter.Gen + +// GroupClaimProfile_STATUSGenerator returns a generator of GroupClaimProfile_STATUS instances for property testing. +func GroupClaimProfile_STATUSGenerator() gopter.Gen { + if groupClaimProfile_STATUSGenerator != nil { + return groupClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(generators) + groupClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile_STATUS{}), generators) + + return groupClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HcpOpenShiftClustersExternalAuth_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS, HcpOpenShiftClustersExternalAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS(subject HcpOpenShiftClustersExternalAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_STATUSGenerator() +var hcpOpenShiftClustersExternalAuth_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_STATUSGenerator returns a generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_STATUSGenerator != nil { + return hcpOpenShiftClustersExternalAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + return hcpOpenShiftClustersExternalAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ExternalAuthProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_TokenClaimMappingsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS, TokenClaimMappingsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS runs a test to see if a specific instance of TokenClaimMappingsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS(subject TokenClaimMappingsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile_STATUS instances for property testing - lazily instantiated by +// TokenClaimMappingsProfile_STATUSGenerator() +var tokenClaimMappingsProfile_STATUSGenerator gopter.Gen + +// TokenClaimMappingsProfile_STATUSGenerator returns a generator of TokenClaimMappingsProfile_STATUS instances for property testing. +func TokenClaimMappingsProfile_STATUSGenerator() gopter.Gen { + if tokenClaimMappingsProfile_STATUSGenerator != nil { + return tokenClaimMappingsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(generators) + tokenClaimMappingsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile_STATUS{}), generators) + + return tokenClaimMappingsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfile_STATUSGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfile_STATUSGenerator()) +} + +func Test_TokenClaimValidationRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule_STATUS, TokenClaimValidationRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule_STATUS runs a test to see if a specific instance of TokenClaimValidationRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule_STATUS(subject TokenClaimValidationRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule_STATUS instances for property testing - lazily instantiated by +// TokenClaimValidationRule_STATUSGenerator() +var tokenClaimValidationRule_STATUSGenerator gopter.Gen + +// TokenClaimValidationRule_STATUSGenerator returns a generator of TokenClaimValidationRule_STATUS instances for property testing. +// We first initialize tokenClaimValidationRule_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRule_STATUSGenerator() gopter.Gen { + if tokenClaimValidationRule_STATUSGenerator != nil { + return tokenClaimValidationRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + return tokenClaimValidationRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(TokenClaimValidationRule_Type_STATUS_RequiredClaim)) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaim_STATUSGenerator()) +} + +func Test_TokenIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile_STATUS, TokenIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile_STATUS runs a test to see if a specific instance of TokenIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile_STATUS(subject TokenIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile_STATUS instances for property testing - lazily instantiated by +// TokenIssuerProfile_STATUSGenerator() +var tokenIssuerProfile_STATUSGenerator gopter.Gen + +// TokenIssuerProfile_STATUSGenerator returns a generator of TokenIssuerProfile_STATUS instances for property testing. +func TokenIssuerProfile_STATUSGenerator() gopter.Gen { + if tokenIssuerProfile_STATUSGenerator != nil { + return tokenIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(generators) + tokenIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile_STATUS{}), generators) + + return tokenIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim_STATUS, TokenRequiredClaim_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim_STATUS runs a test to see if a specific instance of TokenRequiredClaim_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim_STATUS(subject TokenRequiredClaim_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim_STATUS instances for property testing - lazily instantiated by +// TokenRequiredClaim_STATUSGenerator() +var tokenRequiredClaim_STATUSGenerator gopter.Gen + +// TokenRequiredClaim_STATUSGenerator returns a generator of TokenRequiredClaim_STATUS instances for property testing. +func TokenRequiredClaim_STATUSGenerator() gopter.Gen { + if tokenRequiredClaim_STATUSGenerator != nil { + return tokenRequiredClaim_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(generators) + tokenRequiredClaim_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim_STATUS{}), generators) + + return tokenRequiredClaim_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UsernameClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile_STATUS, UsernameClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile_STATUS runs a test to see if a specific instance of UsernameClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile_STATUS(subject UsernameClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile_STATUS instances for property testing - lazily instantiated by +// UsernameClaimProfile_STATUSGenerator() +var usernameClaimProfile_STATUSGenerator gopter.Gen + +// UsernameClaimProfile_STATUSGenerator returns a generator of UsernameClaimProfile_STATUS instances for property testing. +func UsernameClaimProfile_STATUSGenerator() gopter.Gen { + if usernameClaimProfile_STATUSGenerator != nil { + return usernameClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(generators) + usernameClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile_STATUS{}), generators) + + return usernameClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.OneConstOf(UsernameClaimPrefixPolicy_STATUS_NoPrefix, UsernameClaimPrefixPolicy_STATUS_None, UsernameClaimPrefixPolicy_STATUS_Prefix)) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen.go new file mode 100644 index 00000000000..653ff26b8a9 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen.go @@ -0,0 +1,191 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type HcpOpenShiftClustersNodePool_Spec struct { + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *NodePoolProperties `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &HcpOpenShiftClustersNodePool_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (pool HcpOpenShiftClustersNodePool_Spec) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetName returns the Name of the resource +func (pool *HcpOpenShiftClustersNodePool_Spec) GetName() string { + return pool.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +func (pool *HcpOpenShiftClustersNodePool_Spec) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +} + +// Represents the node pool properties +type NodePoolProperties struct { + // AutoRepair: Auto-repair + AutoRepair *bool `json:"autoRepair,omitempty"` + + // AutoScaling: Representation of a autoscaling in a node pool. + AutoScaling *NodePoolAutoScaling `json:"autoScaling,omitempty"` + + // Labels: Kubernetes labels to propagate to the NodePool Nodes + // Note that when the labels are updated this is only applied to newly + // create nodes in the Nodepool, existing node labels remain unchanged. + Labels []Label `json:"labels,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are from 0 to 10080 minutes (1 week) . + // 0 means that the NodePool can be drained without any time limitation. + // If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure node pool platform configuration + Platform *NodePoolPlatformProfile `json:"platform,omitempty"` + + // Replicas: The number of worker nodes, it cannot be used together with autoscaling + Replicas *int `json:"replicas,omitempty"` + + // Taints: Taints for the nodes + Taints []Taint `json:"taints,omitempty"` + + // Version: OpenShift version for the nodepool + Version *NodePoolVersionProfile `json:"version,omitempty"` +} + +// Label represents the Kubernetes label +type Label struct { + // Key: The key of the label + Key *string `json:"key,omitempty"` + + // Value: The value of the label + Value *string `json:"value,omitempty"` +} + +// Node pool autoscaling +type NodePoolAutoScaling struct { + // Max: The maximum number of nodes in the node pool + Max *int `json:"max,omitempty"` + + // Min: The minimum number of nodes in the node pool + Min *int `json:"min,omitempty"` +} + +// Azure node pool platform configuration +type NodePoolPlatformProfile struct { + // AvailabilityZone: The availability zone for the node pool. + // Please read the documentation to see which regions support availability zones + // - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + // - + // https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // OsDisk: The settings and configuration options for OSDisk + OsDisk *OsDiskProfile `json:"osDisk,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters, however the + // same subnet can be used for NodePools of the same cluster. + SubnetId *string `json:"subnetId,omitempty"` + + // VmSize: The VM size according to the documentation: + // - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + VmSize *string `json:"vmSize,omitempty"` +} + +// Versions represents an OpenShift version. +type NodePoolVersionProfile struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +// Taint is controlling the node taint and its effects +type Taint struct { + // Effect: The effect of the taint + Effect *Effect `json:"effect,omitempty"` + + // Key: The key of the taint + Key *string `json:"key,omitempty"` + + // Value: The value of the taint + Value *string `json:"value,omitempty"` +} + +// The taint effect the same as in Kubernetes +// +kubebuilder:validation:Enum={"NoExecute","NoSchedule","PreferNoSchedule"} +type Effect string + +const ( + Effect_NoExecute = Effect("NoExecute") + Effect_NoSchedule = Effect("NoSchedule") + Effect_PreferNoSchedule = Effect("PreferNoSchedule") +) + +// Mapping from string to Effect +var effect_Values = map[string]Effect{ + "noexecute": Effect_NoExecute, + "noschedule": Effect_NoSchedule, + "prefernoschedule": Effect_PreferNoSchedule, +} + +// The settings and configuration options for OSDisk +type OsDiskProfile struct { + // DiskStorageAccountType: The type of the disk storage account + // - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + DiskStorageAccountType *OsDiskProfile_DiskStorageAccountType `json:"diskStorageAccountType,omitempty"` + + // EncryptionSetId: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + // This needs to exist in the same subscription id listed in the Hosted Cluster, + // HostedCluster.Spec.Platform.Azure.SubscriptionID. + // DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + // listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + // Details on how to create a Disk Encryption Set can be found here: + // https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + EncryptionSetId *string `json:"encryptionSetId,omitempty"` + + // SizeGiB: The OS disk size in GiB + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +// +kubebuilder:validation:Enum={"Premium_LRS","StandardSSD_LRS","Standard_LRS"} +type OsDiskProfile_DiskStorageAccountType string + +const ( + OsDiskProfile_DiskStorageAccountType_Premium_LRS = OsDiskProfile_DiskStorageAccountType("Premium_LRS") + OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS = OsDiskProfile_DiskStorageAccountType("StandardSSD_LRS") + OsDiskProfile_DiskStorageAccountType_Standard_LRS = OsDiskProfile_DiskStorageAccountType("Standard_LRS") +) + +// Mapping from string to OsDiskProfile_DiskStorageAccountType +var osDiskProfile_DiskStorageAccountType_Values = map[string]OsDiskProfile_DiskStorageAccountType{ + "premium_lrs": OsDiskProfile_DiskStorageAccountType_Premium_LRS, + "standardssd_lrs": OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS, + "standard_lrs": OsDiskProfile_DiskStorageAccountType_Standard_LRS, +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen_test.go new file mode 100644 index 00000000000..7be2e8691ca --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_spec_types_gen_test.go @@ -0,0 +1,565 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_HcpOpenShiftClustersNodePool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec, HcpOpenShiftClustersNodePool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec(subject HcpOpenShiftClustersNodePool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_SpecGenerator() +var hcpOpenShiftClustersNodePool_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_SpecGenerator returns a generator of HcpOpenShiftClustersNodePool_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_SpecGenerator != nil { + return hcpOpenShiftClustersNodePool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + return hcpOpenShiftClustersNodePool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolPropertiesGenerator()) +} + +func Test_Label_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel, LabelGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel runs a test to see if a specific instance of Label round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel(subject Label) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label instances for property testing - lazily instantiated by LabelGenerator() +var labelGenerator gopter.Gen + +// LabelGenerator returns a generator of Label instances for property testing. +func LabelGenerator() gopter.Gen { + if labelGenerator != nil { + return labelGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel(generators) + labelGenerator = gen.Struct(reflect.TypeOf(Label{}), generators) + + return labelGenerator +} + +// AddIndependentPropertyGeneratorsForLabel is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolAutoScaling_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling, NodePoolAutoScalingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling runs a test to see if a specific instance of NodePoolAutoScaling round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling(subject NodePoolAutoScaling) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling instances for property testing - lazily instantiated by +// NodePoolAutoScalingGenerator() +var nodePoolAutoScalingGenerator gopter.Gen + +// NodePoolAutoScalingGenerator returns a generator of NodePoolAutoScaling instances for property testing. +func NodePoolAutoScalingGenerator() gopter.Gen { + if nodePoolAutoScalingGenerator != nil { + return nodePoolAutoScalingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling(generators) + nodePoolAutoScalingGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling{}), generators) + + return nodePoolAutoScalingGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolPlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile, NodePoolPlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile runs a test to see if a specific instance of NodePoolPlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile(subject NodePoolPlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile instances for property testing - lazily instantiated by +// NodePoolPlatformProfileGenerator() +var nodePoolPlatformProfileGenerator gopter.Gen + +// NodePoolPlatformProfileGenerator returns a generator of NodePoolPlatformProfile instances for property testing. +// We first initialize nodePoolPlatformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfileGenerator() gopter.Gen { + if nodePoolPlatformProfileGenerator != nil { + return nodePoolPlatformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + return nodePoolPlatformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfileGenerator()) +} + +func Test_NodePoolProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties, NodePoolPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties runs a test to see if a specific instance of NodePoolProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties(subject NodePoolProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties instances for property testing - lazily instantiated by NodePoolPropertiesGenerator() +var nodePoolPropertiesGenerator gopter.Gen + +// NodePoolPropertiesGenerator returns a generator of NodePoolProperties instances for property testing. +// We first initialize nodePoolPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPropertiesGenerator() gopter.Gen { + if nodePoolPropertiesGenerator != nil { + return nodePoolPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + return nodePoolPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScalingGenerator()) + gens["Labels"] = gen.SliceOf(LabelGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfileGenerator()) + gens["Taints"] = gen.SliceOf(TaintGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfileGenerator()) +} + +func Test_NodePoolVersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile, NodePoolVersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile runs a test to see if a specific instance of NodePoolVersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile(subject NodePoolVersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile instances for property testing - lazily instantiated by +// NodePoolVersionProfileGenerator() +var nodePoolVersionProfileGenerator gopter.Gen + +// NodePoolVersionProfileGenerator returns a generator of NodePoolVersionProfile instances for property testing. +func NodePoolVersionProfileGenerator() gopter.Gen { + if nodePoolVersionProfileGenerator != nil { + return nodePoolVersionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile(generators) + nodePoolVersionProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile{}), generators) + + return nodePoolVersionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OsDiskProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile, OsDiskProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile runs a test to see if a specific instance of OsDiskProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile(subject OsDiskProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile instances for property testing - lazily instantiated by OsDiskProfileGenerator() +var osDiskProfileGenerator gopter.Gen + +// OsDiskProfileGenerator returns a generator of OsDiskProfile instances for property testing. +func OsDiskProfileGenerator() gopter.Gen { + if osDiskProfileGenerator != nil { + return osDiskProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile(generators) + osDiskProfileGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile{}), generators) + + return osDiskProfileGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.OneConstOf(OsDiskProfile_DiskStorageAccountType_Premium_LRS, OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS, OsDiskProfile_DiskStorageAccountType_Standard_LRS)) + gens["EncryptionSetId"] = gen.PtrOf(gen.AlphaString()) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_Taint_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint, TaintGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint runs a test to see if a specific instance of Taint round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint(subject Taint) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint instances for property testing - lazily instantiated by TaintGenerator() +var taintGenerator gopter.Gen + +// TaintGenerator returns a generator of Taint instances for property testing. +func TaintGenerator() gopter.Gen { + if taintGenerator != nil { + return taintGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint(generators) + taintGenerator = gen.Struct(reflect.TypeOf(Taint{}), generators) + + return taintGenerator +} + +// AddIndependentPropertyGeneratorsForTaint is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.OneConstOf(Effect_NoExecute, Effect_NoSchedule, Effect_PreferNoSchedule)) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen.go new file mode 100644 index 00000000000..b2d57c50b4b --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen.go @@ -0,0 +1,185 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type HcpOpenShiftClustersNodePool_STATUS struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *NodePoolProperties_STATUS `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// Represents the node pool properties +type NodePoolProperties_STATUS struct { + // AutoRepair: Auto-repair + AutoRepair *bool `json:"autoRepair,omitempty"` + + // AutoScaling: Representation of a autoscaling in a node pool. + AutoScaling *NodePoolAutoScaling_STATUS `json:"autoScaling,omitempty"` + + // Labels: Kubernetes labels to propagate to the NodePool Nodes + // Note that when the labels are updated this is only applied to newly + // create nodes in the Nodepool, existing node labels remain unchanged. + Labels []Label_STATUS `json:"labels,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are from 0 to 10080 minutes (1 week) . + // 0 means that the NodePool can be drained without any time limitation. + // If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure node pool platform configuration + Platform *NodePoolPlatformProfile_STATUS `json:"platform,omitempty"` + + // ProvisioningState: Provisioning state + ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Replicas: The number of worker nodes, it cannot be used together with autoscaling + Replicas *int `json:"replicas,omitempty"` + + // Taints: Taints for the nodes + Taints []Taint_STATUS `json:"taints,omitempty"` + + // Version: OpenShift version for the nodepool + Version *NodePoolVersionProfile_STATUS `json:"version,omitempty"` +} + +// Label represents the Kubernetes label +type Label_STATUS struct { + // Key: The key of the label + Key *string `json:"key,omitempty"` + + // Value: The value of the label + Value *string `json:"value,omitempty"` +} + +// Node pool autoscaling +type NodePoolAutoScaling_STATUS struct { + // Max: The maximum number of nodes in the node pool + Max *int `json:"max,omitempty"` + + // Min: The minimum number of nodes in the node pool + Min *int `json:"min,omitempty"` +} + +// Azure node pool platform configuration +type NodePoolPlatformProfile_STATUS struct { + // AvailabilityZone: The availability zone for the node pool. + // Please read the documentation to see which regions support availability zones + // - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + // - + // https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // OsDisk: The settings and configuration options for OSDisk + OsDisk *OsDiskProfile_STATUS `json:"osDisk,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters, however the + // same subnet can be used for NodePools of the same cluster. + SubnetId *string `json:"subnetId,omitempty"` + + // VmSize: The VM size according to the documentation: + // - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + VmSize *string `json:"vmSize,omitempty"` +} + +// Versions represents an OpenShift version. +type NodePoolVersionProfile_STATUS struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +// Taint is controlling the node taint and its effects +type Taint_STATUS struct { + // Effect: The effect of the taint + Effect *Effect_STATUS `json:"effect,omitempty"` + + // Key: The key of the taint + Key *string `json:"key,omitempty"` + + // Value: The value of the taint + Value *string `json:"value,omitempty"` +} + +// The taint effect the same as in Kubernetes +type Effect_STATUS string + +const ( + Effect_STATUS_NoExecute = Effect_STATUS("NoExecute") + Effect_STATUS_NoSchedule = Effect_STATUS("NoSchedule") + Effect_STATUS_PreferNoSchedule = Effect_STATUS("PreferNoSchedule") +) + +// Mapping from string to Effect_STATUS +var effect_STATUS_Values = map[string]Effect_STATUS{ + "noexecute": Effect_STATUS_NoExecute, + "noschedule": Effect_STATUS_NoSchedule, + "prefernoschedule": Effect_STATUS_PreferNoSchedule, +} + +// The settings and configuration options for OSDisk +type OsDiskProfile_STATUS struct { + // DiskStorageAccountType: The type of the disk storage account + // - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + DiskStorageAccountType *OsDiskProfile_DiskStorageAccountType_STATUS `json:"diskStorageAccountType,omitempty"` + + // EncryptionSetId: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + // This needs to exist in the same subscription id listed in the Hosted Cluster, + // HostedCluster.Spec.Platform.Azure.SubscriptionID. + // DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + // listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + // Details on how to create a Disk Encryption Set can be found here: + // https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + EncryptionSetId *string `json:"encryptionSetId,omitempty"` + + // SizeGiB: The OS disk size in GiB + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +type OsDiskProfile_DiskStorageAccountType_STATUS string + +const ( + OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("Premium_LRS") + OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("StandardSSD_LRS") + OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("Standard_LRS") +) + +// Mapping from string to OsDiskProfile_DiskStorageAccountType_STATUS +var osDiskProfile_DiskStorageAccountType_STATUS_Values = map[string]OsDiskProfile_DiskStorageAccountType_STATUS{ + "premium_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS, + "standardssd_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS, + "standard_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS, +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen_test.go new file mode 100644 index 00000000000..76d56440389 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/hcp_open_shift_clusters_node_pool_status_types_gen_test.go @@ -0,0 +1,578 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_HcpOpenShiftClustersNodePool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS, HcpOpenShiftClustersNodePool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS(subject HcpOpenShiftClustersNodePool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_STATUSGenerator() +var hcpOpenShiftClustersNodePool_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_STATUSGenerator returns a generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_STATUSGenerator != nil { + return hcpOpenShiftClustersNodePool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + return hcpOpenShiftClustersNodePool_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_Label_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel_STATUS, Label_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel_STATUS runs a test to see if a specific instance of Label_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel_STATUS(subject Label_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label_STATUS instances for property testing - lazily instantiated by Label_STATUSGenerator() +var label_STATUSGenerator gopter.Gen + +// Label_STATUSGenerator returns a generator of Label_STATUS instances for property testing. +func Label_STATUSGenerator() gopter.Gen { + if label_STATUSGenerator != nil { + return label_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel_STATUS(generators) + label_STATUSGenerator = gen.Struct(reflect.TypeOf(Label_STATUS{}), generators) + + return label_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLabel_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel_STATUS(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolAutoScaling_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling_STATUS, NodePoolAutoScaling_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling_STATUS runs a test to see if a specific instance of NodePoolAutoScaling_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling_STATUS(subject NodePoolAutoScaling_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling_STATUS instances for property testing - lazily instantiated by +// NodePoolAutoScaling_STATUSGenerator() +var nodePoolAutoScaling_STATUSGenerator gopter.Gen + +// NodePoolAutoScaling_STATUSGenerator returns a generator of NodePoolAutoScaling_STATUS instances for property testing. +func NodePoolAutoScaling_STATUSGenerator() gopter.Gen { + if nodePoolAutoScaling_STATUSGenerator != nil { + return nodePoolAutoScaling_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(generators) + nodePoolAutoScaling_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling_STATUS{}), generators) + + return nodePoolAutoScaling_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolPlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile_STATUS, NodePoolPlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile_STATUS runs a test to see if a specific instance of NodePoolPlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile_STATUS(subject NodePoolPlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolPlatformProfile_STATUSGenerator() +var nodePoolPlatformProfile_STATUSGenerator gopter.Gen + +// NodePoolPlatformProfile_STATUSGenerator returns a generator of NodePoolPlatformProfile_STATUS instances for property testing. +// We first initialize nodePoolPlatformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfile_STATUSGenerator() gopter.Gen { + if nodePoolPlatformProfile_STATUSGenerator != nil { + return nodePoolPlatformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + return nodePoolPlatformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfile_STATUSGenerator()) +} + +func Test_NodePoolProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties_STATUS, NodePoolProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties_STATUS runs a test to see if a specific instance of NodePoolProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties_STATUS(subject NodePoolProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties_STATUS instances for property testing - lazily instantiated by +// NodePoolProperties_STATUSGenerator() +var nodePoolProperties_STATUSGenerator gopter.Gen + +// NodePoolProperties_STATUSGenerator returns a generator of NodePoolProperties_STATUS instances for property testing. +// We first initialize nodePoolProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolProperties_STATUSGenerator() gopter.Gen { + if nodePoolProperties_STATUSGenerator != nil { + return nodePoolProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + return nodePoolProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_Accepted, + ProvisioningState_STATUS_Canceled, + ProvisioningState_STATUS_Deleting, + ProvisioningState_STATUS_Failed, + ProvisioningState_STATUS_Provisioning, + ProvisioningState_STATUS_Succeeded, + ProvisioningState_STATUS_Updating)) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScaling_STATUSGenerator()) + gens["Labels"] = gen.SliceOf(Label_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfile_STATUSGenerator()) + gens["Taints"] = gen.SliceOf(Taint_STATUSGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfile_STATUSGenerator()) +} + +func Test_NodePoolVersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile_STATUS, NodePoolVersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile_STATUS runs a test to see if a specific instance of NodePoolVersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile_STATUS(subject NodePoolVersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolVersionProfile_STATUSGenerator() +var nodePoolVersionProfile_STATUSGenerator gopter.Gen + +// NodePoolVersionProfile_STATUSGenerator returns a generator of NodePoolVersionProfile_STATUS instances for property testing. +func NodePoolVersionProfile_STATUSGenerator() gopter.Gen { + if nodePoolVersionProfile_STATUSGenerator != nil { + return nodePoolVersionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(generators) + nodePoolVersionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile_STATUS{}), generators) + + return nodePoolVersionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OsDiskProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile_STATUS, OsDiskProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile_STATUS runs a test to see if a specific instance of OsDiskProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile_STATUS(subject OsDiskProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile_STATUS instances for property testing - lazily instantiated by +// OsDiskProfile_STATUSGenerator() +var osDiskProfile_STATUSGenerator gopter.Gen + +// OsDiskProfile_STATUSGenerator returns a generator of OsDiskProfile_STATUS instances for property testing. +func OsDiskProfile_STATUSGenerator() gopter.Gen { + if osDiskProfile_STATUSGenerator != nil { + return osDiskProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(generators) + osDiskProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile_STATUS{}), generators) + + return osDiskProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.OneConstOf(OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS, OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS, OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS)) + gens["EncryptionSetId"] = gen.PtrOf(gen.AlphaString()) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_Taint_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint_STATUS, Taint_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint_STATUS runs a test to see if a specific instance of Taint_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint_STATUS(subject Taint_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint_STATUS instances for property testing - lazily instantiated by Taint_STATUSGenerator() +var taint_STATUSGenerator gopter.Gen + +// Taint_STATUSGenerator returns a generator of Taint_STATUS instances for property testing. +func Taint_STATUSGenerator() gopter.Gen { + if taint_STATUSGenerator != nil { + return taint_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint_STATUS(generators) + taint_STATUSGenerator = gen.Struct(reflect.TypeOf(Taint_STATUS{}), generators) + + return taint_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTaint_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint_STATUS(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.OneConstOf(Effect_STATUS_NoExecute, Effect_STATUS_NoSchedule, Effect_STATUS_PreferNoSchedule)) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/arm/structure.txt b/v2/api/redhatopenshift/v1api20240610preview/arm/structure.txt new file mode 100644 index 00000000000..e720c63bdae --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/arm/structure.txt @@ -0,0 +1,392 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/arm +--------------------------------------------------------------------------------------- +HcpOpenShiftCluster_STATUS: Object (8 properties) +├── Id: *string +├── Identity: *Object (4 properties) +│ ├── PrincipalId: *string +│ ├── TenantId: *string +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (2 properties) +│ ├── ClientId: *string +│ └── PrincipalId: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (11 properties) +│ ├── Api: *Object (3 properties) +│ │ ├── AuthorizedCidrs: string[] +│ │ ├── Url: *string +│ │ └── Visibility: *Enum (2 values) +│ │ ├── "Private" +│ │ └── "Public" +│ ├── Autoscaling: *Object (4 properties) +│ │ ├── MaxNodeProvisionTimeSeconds: *int +│ │ ├── MaxNodesTotal: *int +│ │ ├── MaxPodGracePeriodSeconds: *int +│ │ └── PodPriorityThreshold: *int +│ ├── ClusterImageRegistry: *Object (1 property) +│ │ └── State: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── Console: *Object (1 property) +│ │ └── Url: *string +│ ├── Dns: *Object (2 properties) +│ │ ├── BaseDomain: *string +│ │ └── BaseDomainPrefix: *string +│ ├── Etcd: *Object (1 property) +│ │ └── DataEncryption: *Object (2 properties) +│ │ ├── CustomerManaged: *Object (2 properties) +│ │ │ ├── EncryptionType: *Enum (1 value) +│ │ │ │ └── "KMS" +│ │ │ └── Kms: *Object (1 property) +│ │ │ └── ActiveKey: *Object (3 properties) +│ │ │ ├── Name: *string +│ │ │ ├── VaultName: *string +│ │ │ └── Version: *string +│ │ └── KeyManagementMode: *Enum (2 values) +│ │ ├── "CustomerManaged" +│ │ └── "PlatformManaged" +│ ├── Network: *Object (5 properties) +│ │ ├── HostPrefix: *int +│ │ ├── MachineCidr: *string +│ │ ├── NetworkType: *Enum (2 values) +│ │ │ ├── "OVNKubernetes" +│ │ │ └── "Other" +│ │ ├── PodCidr: *string +│ │ └── ServiceCidr: *string +│ ├── NodeDrainTimeoutMinutes: *int +│ ├── Platform: *Object (6 properties) +│ │ ├── IssuerUrl: *string +│ │ ├── ManagedResourceGroup: *string +│ │ ├── NetworkSecurityGroupId: *string +│ │ ├── OperatorsAuthentication: *Object (1 property) +│ │ │ └── UserAssignedIdentities: *Object (3 properties) +│ │ │ ├── ControlPlaneOperators: map[string]string +│ │ │ ├── DataPlaneOperators: map[string]string +│ │ │ └── ServiceManagedIdentity: *string +│ │ ├── OutboundType: *Enum (1 value) +│ │ │ └── "LoadBalancer" +│ │ └── SubnetId: *string +│ ├── ProvisioningState: *Enum (7 values) +│ │ ├── "Accepted" +│ │ ├── "Canceled" +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "Provisioning" +│ │ ├── "Succeeded" +│ │ └── "Updating" +│ └── Version: *Object (2 properties) +│ ├── ChannelGroup: *string +│ └── Id: *string +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +├── Tags: map[string]string +└── Type: *string + +HcpOpenShiftCluster_Spec: Object (5 properties) +├── Identity: *Object (2 properties) +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (0 properties) +├── Location: *string +├── Name: string +├── Properties: *Object (9 properties) +│ ├── Api: *Object (2 properties) +│ │ ├── AuthorizedCidrs: string[] +│ │ └── Visibility: *Enum (2 values) +│ │ ├── "Private" +│ │ └── "Public" +│ ├── Autoscaling: *Object (4 properties) +│ │ ├── MaxNodeProvisionTimeSeconds: *int +│ │ ├── MaxNodesTotal: *int +│ │ ├── MaxPodGracePeriodSeconds: *int +│ │ └── PodPriorityThreshold: *int +│ ├── ClusterImageRegistry: *Object (1 property) +│ │ └── State: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── Dns: *Object (1 property) +│ │ └── BaseDomainPrefix: *string +│ ├── Etcd: *Object (1 property) +│ │ └── DataEncryption: *Object (2 properties) +│ │ ├── CustomerManaged: *Object (2 properties) +│ │ │ ├── EncryptionType: *Enum (1 value) +│ │ │ │ └── "KMS" +│ │ │ └── Kms: *Object (1 property) +│ │ │ └── ActiveKey: *Object (3 properties) +│ │ │ ├── Name: *string +│ │ │ ├── VaultName: *string +│ │ │ └── Version: *string +│ │ └── KeyManagementMode: *Enum (2 values) +│ │ ├── "CustomerManaged" +│ │ └── "PlatformManaged" +│ ├── Network: *Object (5 properties) +│ │ ├── HostPrefix: *int +│ │ ├── MachineCidr: *string +│ │ ├── NetworkType: *Enum (2 values) +│ │ │ ├── "OVNKubernetes" +│ │ │ └── "Other" +│ │ ├── PodCidr: *string +│ │ └── ServiceCidr: *string +│ ├── NodeDrainTimeoutMinutes: *int +│ ├── Platform: *Object (5 properties) +│ │ ├── ManagedResourceGroup: *string +│ │ ├── NetworkSecurityGroupId: *string +│ │ ├── OperatorsAuthentication: *Object (1 property) +│ │ │ └── UserAssignedIdentities: *Object (3 properties) +│ │ │ ├── ControlPlaneOperators: map[string]string +│ │ │ ├── DataPlaneOperators: map[string]string +│ │ │ └── ServiceManagedIdentity: *string +│ │ ├── OutboundType: *Enum (1 value) +│ │ │ └── "LoadBalancer" +│ │ └── SubnetId: *string +│ └── Version: *Object (2 properties) +│ ├── ChannelGroup: *string +│ └── Id: *string +└── Tags: map[string]string + +HcpOpenShiftClustersExternalAuth_STATUS: Object (5 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (5 properties) +│ ├── Claim: *Object (2 properties) +│ │ ├── Mappings: *Object (2 properties) +│ │ │ ├── Groups: *Object (2 properties) +│ │ │ │ ├── Claim: *string +│ │ │ │ └── Prefix: *string +│ │ │ └── Username: *Object (3 properties) +│ │ │ ├── Claim: *string +│ │ │ ├── Prefix: *string +│ │ │ └── PrefixPolicy: *Enum (3 values) +│ │ │ ├── "NoPrefix" +│ │ │ ├── "None" +│ │ │ └── "Prefix" +│ │ └── ValidationRules: Object (2 properties)[] +│ │ ├── RequiredClaim: *Object (2 properties) +│ │ │ ├── Claim: *string +│ │ │ └── RequiredValue: *string +│ │ └── Type: *Enum (1 value) +│ │ └── "RequiredClaim" +│ ├── Clients: Object (4 properties)[] +│ │ ├── ClientId: *string +│ │ ├── Component: *Object (2 properties) +│ │ │ ├── AuthClientNamespace: *string +│ │ │ └── Name: *string +│ │ ├── ExtraScopes: string[] +│ │ └── Type: *Enum (2 values) +│ │ ├── "Confidential" +│ │ └── "Public" +│ ├── Condition: *Object (5 properties) +│ │ ├── LastTransitionTime: *string +│ │ ├── Message: *string +│ │ ├── Reason: *string +│ │ ├── Status: *Enum (3 values) +│ │ │ ├── "False" +│ │ │ ├── "True" +│ │ │ └── "Unknown" +│ │ └── Type: *Enum (3 values) +│ │ ├── "Available" +│ │ ├── "Degraded" +│ │ └── "Progressing" +│ ├── Issuer: *Object (3 properties) +│ │ ├── Audiences: string[] +│ │ ├── Ca: *string +│ │ └── Url: *string +│ └── ProvisioningState: *Enum (8 values) +│ ├── "Accepted" +│ ├── "AwaitingSecret" +│ ├── "Canceled" +│ ├── "Deleting" +│ ├── "Failed" +│ ├── "Provisioning" +│ ├── "Succeeded" +│ └── "Updating" +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +└── Type: *string + +HcpOpenShiftClustersExternalAuth_Spec: Object (2 properties) +├── Name: string +└── Properties: *Object (3 properties) + ├── Claim: *Object (2 properties) + │ ├── Mappings: *Object (2 properties) + │ │ ├── Groups: *Object (2 properties) + │ │ │ ├── Claim: *string + │ │ │ └── Prefix: *string + │ │ └── Username: *Object (3 properties) + │ │ ├── Claim: *string + │ │ ├── Prefix: *string + │ │ └── PrefixPolicy: *Enum (3 values) + │ │ ├── "NoPrefix" + │ │ ├── "None" + │ │ └── "Prefix" + │ └── ValidationRules: Object (2 properties)[] + │ ├── RequiredClaim: *Object (2 properties) + │ │ ├── Claim: *string + │ │ └── RequiredValue: *string + │ └── Type: *Enum (1 value) + │ └── "RequiredClaim" + ├── Clients: Object (4 properties)[] + │ ├── ClientId: *string + │ ├── Component: *Object (2 properties) + │ │ ├── AuthClientNamespace: *string + │ │ └── Name: *string + │ ├── ExtraScopes: string[] + │ └── Type: *Enum (2 values) + │ ├── "Confidential" + │ └── "Public" + └── Issuer: *Object (3 properties) + ├── Audiences: string[] + ├── Ca: *string + └── Url: *string + +HcpOpenShiftClustersNodePool_STATUS: Object (8 properties) +├── Id: *string +├── Identity: *Object (4 properties) +│ ├── PrincipalId: *string +│ ├── TenantId: *string +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (2 properties) +│ ├── ClientId: *string +│ └── PrincipalId: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (9 properties) +│ ├── AutoRepair: *bool +│ ├── AutoScaling: *Object (2 properties) +│ │ ├── Max: *int +│ │ └── Min: *int +│ ├── Labels: Object (2 properties)[] +│ │ ├── Key: *string +│ │ └── Value: *string +│ ├── NodeDrainTimeoutMinutes: *int +│ ├── Platform: *Object (5 properties) +│ │ ├── AvailabilityZone: *string +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── OsDisk: *Object (3 properties) +│ │ │ ├── DiskStorageAccountType: *Enum (3 values) +│ │ │ │ ├── "Premium_LRS" +│ │ │ │ ├── "StandardSSD_LRS" +│ │ │ │ └── "Standard_LRS" +│ │ │ ├── EncryptionSetId: *string +│ │ │ └── SizeGiB: *int +│ │ ├── SubnetId: *string +│ │ └── VmSize: *string +│ ├── ProvisioningState: *Enum (7 values) +│ │ ├── "Accepted" +│ │ ├── "Canceled" +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "Provisioning" +│ │ ├── "Succeeded" +│ │ └── "Updating" +│ ├── Replicas: *int +│ ├── Taints: Object (3 properties)[] +│ │ ├── Effect: *Enum (3 values) +│ │ │ ├── "NoExecute" +│ │ │ ├── "NoSchedule" +│ │ │ └── "PreferNoSchedule" +│ │ ├── Key: *string +│ │ └── Value: *string +│ └── Version: *Object (2 properties) +│ ├── ChannelGroup: *string +│ └── Id: *string +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +├── Tags: map[string]string +└── Type: *string + +HcpOpenShiftClustersNodePool_Spec: Object (5 properties) +├── Identity: *Object (2 properties) +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (0 properties) +├── Location: *string +├── Name: string +├── Properties: *Object (8 properties) +│ ├── AutoRepair: *bool +│ ├── AutoScaling: *Object (2 properties) +│ │ ├── Max: *int +│ │ └── Min: *int +│ ├── Labels: Object (2 properties)[] +│ │ ├── Key: *string +│ │ └── Value: *string +│ ├── NodeDrainTimeoutMinutes: *int +│ ├── Platform: *Object (5 properties) +│ │ ├── AvailabilityZone: *string +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── OsDisk: *Object (3 properties) +│ │ │ ├── DiskStorageAccountType: *Enum (3 values) +│ │ │ │ ├── "Premium_LRS" +│ │ │ │ ├── "StandardSSD_LRS" +│ │ │ │ └── "Standard_LRS" +│ │ │ ├── EncryptionSetId: *string +│ │ │ └── SizeGiB: *int +│ │ ├── SubnetId: *string +│ │ └── VmSize: *string +│ ├── Replicas: *int +│ ├── Taints: Object (3 properties)[] +│ │ ├── Effect: *Enum (3 values) +│ │ │ ├── "NoExecute" +│ │ │ ├── "NoSchedule" +│ │ │ └── "PreferNoSchedule" +│ │ ├── Key: *string +│ │ └── Value: *string +│ └── Version: *Object (2 properties) +│ ├── ChannelGroup: *string +│ └── Id: *string +└── Tags: map[string]string + diff --git a/v2/api/redhatopenshift/v1api20240610preview/doc.go b/v2/api/redhatopenshift/v1api20240610preview/doc.go new file mode 100644 index 00000000000..035633b6d35 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/doc.go @@ -0,0 +1,10 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20240610preview contains API Schema definitions for the redhatopenshift v1api20240610preview API group +// +groupName=redhatopenshift.azure.com +package v1api20240610preview diff --git a/v2/api/redhatopenshift/v1api20240610preview/groupversion_info_gen.go b/v2/api/redhatopenshift/v1api20240610preview/groupversion_info_gen.go new file mode 100644 index 00000000000..282619e0766 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20240610preview contains API Schema definitions for the redhatopenshift v1api20240610preview API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=redhatopenshift.azure.com +// +versionName=v1api20240610preview +package v1api20240610preview + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "redhatopenshift.azure.com", Version: "v1api20240610preview"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen.go new file mode 100644 index 00000000000..15292e612ea --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen.go @@ -0,0 +1,6496 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/arm" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} +type HcpOpenShiftCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftCluster_Spec `json:"spec,omitempty"` + Status HcpOpenShiftCluster_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftCluster{} + +// GetConditions returns the conditions of the resource +func (cluster *HcpOpenShiftCluster) GetConditions() conditions.Conditions { + return cluster.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (cluster *HcpOpenShiftCluster) SetConditions(conditions conditions.Conditions) { + cluster.Status.Conditions = conditions +} + +var _ conversion.Convertible = &HcpOpenShiftCluster{} + +// ConvertFrom populates our HcpOpenShiftCluster from the provided hub HcpOpenShiftCluster +func (cluster *HcpOpenShiftCluster) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.HcpOpenShiftCluster) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftCluster but received %T instead", hub) + } + + return cluster.AssignProperties_From_HcpOpenShiftCluster(source) +} + +// ConvertTo populates the provided hub HcpOpenShiftCluster from our HcpOpenShiftCluster +func (cluster *HcpOpenShiftCluster) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.HcpOpenShiftCluster) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftCluster but received %T instead", hub) + } + + return cluster.AssignProperties_To_HcpOpenShiftCluster(destination) +} + +var _ configmaps.Exporter = &HcpOpenShiftCluster{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (cluster *HcpOpenShiftCluster) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if cluster.Spec.OperatorSpec == nil { + return nil + } + return cluster.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftCluster{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (cluster *HcpOpenShiftCluster) SecretDestinationExpressions() []*core.DestinationExpression { + if cluster.Spec.OperatorSpec == nil { + return nil + } + return cluster.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &HcpOpenShiftCluster{} + +// InitializeSpec initializes the spec for this resource from the given status +func (cluster *HcpOpenShiftCluster) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*HcpOpenShiftCluster_STATUS); ok { + return cluster.Spec.Initialize_From_HcpOpenShiftCluster_STATUS(s) + } + + return fmt.Errorf("expected Status of type HcpOpenShiftCluster_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftCluster{} + +// AzureName returns the Azure name of the resource +func (cluster *HcpOpenShiftCluster) AzureName() string { + return cluster.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (cluster HcpOpenShiftCluster) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (cluster *HcpOpenShiftCluster) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (cluster *HcpOpenShiftCluster) GetSpec() genruntime.ConvertibleSpec { + return &cluster.Spec +} + +// GetStatus returns the status of this resource +func (cluster *HcpOpenShiftCluster) GetStatus() genruntime.ConvertibleStatus { + return &cluster.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (cluster *HcpOpenShiftCluster) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +func (cluster *HcpOpenShiftCluster) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +} + +// NewEmptyStatus returns a new empty (blank) status +func (cluster *HcpOpenShiftCluster) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftCluster_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (cluster *HcpOpenShiftCluster) Owner() *genruntime.ResourceReference { + if cluster.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(cluster.Spec) + return cluster.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (cluster *HcpOpenShiftCluster) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftCluster_STATUS); ok { + cluster.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftCluster_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + cluster.Status = st + return nil +} + +// AssignProperties_From_HcpOpenShiftCluster populates our HcpOpenShiftCluster from the provided source HcpOpenShiftCluster +func (cluster *HcpOpenShiftCluster) AssignProperties_From_HcpOpenShiftCluster(source *storage.HcpOpenShiftCluster) error { + + // ObjectMeta + cluster.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec HcpOpenShiftCluster_Spec + err := spec.AssignProperties_From_HcpOpenShiftCluster_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftCluster_Spec() to populate field Spec") + } + cluster.Spec = spec + + // Status + var status HcpOpenShiftCluster_STATUS + err = status.AssignProperties_From_HcpOpenShiftCluster_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftCluster_STATUS() to populate field Status") + } + cluster.Status = status + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftCluster populates the provided destination HcpOpenShiftCluster from our HcpOpenShiftCluster +func (cluster *HcpOpenShiftCluster) AssignProperties_To_HcpOpenShiftCluster(destination *storage.HcpOpenShiftCluster) error { + + // ObjectMeta + destination.ObjectMeta = *cluster.ObjectMeta.DeepCopy() + + // Spec + var spec storage.HcpOpenShiftCluster_Spec + err := cluster.Spec.AssignProperties_To_HcpOpenShiftCluster_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftCluster_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.HcpOpenShiftCluster_STATUS + err = cluster.Status.AssignProperties_To_HcpOpenShiftCluster_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftCluster_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (cluster *HcpOpenShiftCluster) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: cluster.Spec.OriginalVersion(), + Kind: "HcpOpenShiftCluster", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} +type HcpOpenShiftClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftCluster `json:"items"` +} + +// +kubebuilder:validation:Enum={"2024-06-10-preview"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-06-10-preview") + +type HcpOpenShiftCluster_Spec struct { + // +kubebuilder:validation:Pattern="^[a-zA-Z][-a-zA-Z0-9]{1,52}[a-zA-Z0-9]$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *HcpOpenShiftClusterOperatorSpec `json:"operatorSpec,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + + // Properties: The resource-specific properties for this resource. + Properties *HcpOpenShiftClusterProperties `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMTransformer = &HcpOpenShiftCluster_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (cluster *HcpOpenShiftCluster_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if cluster == nil { + return nil, nil + } + result := &arm.HcpOpenShiftCluster_Spec{} + + // Set property "Identity": + if cluster.Identity != nil { + identity_ARM, err := cluster.Identity.ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*arm.ManagedServiceIdentity) + result.Identity = &identity + } + + // Set property "Location": + if cluster.Location != nil { + location := *cluster.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if cluster.Properties != nil { + properties_ARM, err := cluster.Properties.ConvertToARM(resolved) + if err != nil { + return nil, err + } + properties := *properties_ARM.(*arm.HcpOpenShiftClusterProperties) + result.Properties = &properties + } + + // Set property "Tags": + if cluster.Tags != nil { + result.Tags = make(map[string]string, len(cluster.Tags)) + for key, value := range cluster.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cluster *HcpOpenShiftCluster_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftCluster_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cluster *HcpOpenShiftCluster_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftCluster_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftCluster_Spec, got %T", armInput) + } + + // Set property "AzureName": + cluster.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + cluster.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + cluster.Location = &location + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + cluster.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 HcpOpenShiftClusterProperties + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + cluster.Properties = &properties + } + + // Set property "Tags": + if typedInput.Tags != nil { + cluster.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + cluster.Tags[key] = value + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftCluster_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftCluster_Spec from the provided source +func (cluster *HcpOpenShiftCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.HcpOpenShiftCluster_Spec) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_HcpOpenShiftCluster_Spec(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftCluster_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = cluster.AssignProperties_From_HcpOpenShiftCluster_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftCluster_Spec +func (cluster *HcpOpenShiftCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.HcpOpenShiftCluster_Spec) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_HcpOpenShiftCluster_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftCluster_Spec{} + err := cluster.AssignProperties_To_HcpOpenShiftCluster_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_HcpOpenShiftCluster_Spec populates our HcpOpenShiftCluster_Spec from the provided source HcpOpenShiftCluster_Spec +func (cluster *HcpOpenShiftCluster_Spec) AssignProperties_From_HcpOpenShiftCluster_Spec(source *storage.HcpOpenShiftCluster_Spec) error { + + // AzureName + cluster.AzureName = source.AzureName + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.AssignProperties_From_ManagedServiceIdentity(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec HcpOpenShiftClusterOperatorSpec + err := operatorSpec.AssignProperties_From_HcpOpenShiftClusterOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClusterOperatorSpec() to populate field OperatorSpec") + } + cluster.OperatorSpec = &operatorSpec + } else { + cluster.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + cluster.Owner = &owner + } else { + cluster.Owner = nil + } + + // Properties + if source.Properties != nil { + var property HcpOpenShiftClusterProperties + err := property.AssignProperties_From_HcpOpenShiftClusterProperties(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClusterProperties() to populate field Properties") + } + cluster.Properties = &property + } else { + cluster.Properties = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftCluster_Spec populates the provided destination HcpOpenShiftCluster_Spec from our HcpOpenShiftCluster_Spec +func (cluster *HcpOpenShiftCluster_Spec) AssignProperties_To_HcpOpenShiftCluster_Spec(destination *storage.HcpOpenShiftCluster_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = cluster.AzureName + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedServiceIdentity + err := cluster.Identity.AssignProperties_To_ManagedServiceIdentity(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // OperatorSpec + if cluster.OperatorSpec != nil { + var operatorSpec storage.HcpOpenShiftClusterOperatorSpec + err := cluster.OperatorSpec.AssignProperties_To_HcpOpenShiftClusterOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClusterOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = cluster.OriginalVersion() + + // Owner + if cluster.Owner != nil { + owner := cluster.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Properties + if cluster.Properties != nil { + var property storage.HcpOpenShiftClusterProperties + err := cluster.Properties.AssignProperties_To_HcpOpenShiftClusterProperties(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClusterProperties() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HcpOpenShiftCluster_STATUS populates our HcpOpenShiftCluster_Spec from the provided source HcpOpenShiftCluster_STATUS +func (cluster *HcpOpenShiftCluster_Spec) Initialize_From_HcpOpenShiftCluster_STATUS(source *HcpOpenShiftCluster_STATUS) error { + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.Initialize_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // Properties + if source.Properties != nil { + var property HcpOpenShiftClusterProperties + err := property.Initialize_From_HcpOpenShiftClusterProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_HcpOpenShiftClusterProperties_STATUS() to populate field Properties") + } + cluster.Properties = &property + } else { + cluster.Properties = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (cluster *HcpOpenShiftCluster_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (cluster *HcpOpenShiftCluster_Spec) SetAzureName(azureName string) { + cluster.AzureName = azureName +} + +// HCP cluster resource +type HcpOpenShiftCluster_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *HcpOpenShiftClusterProperties_STATUS `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftCluster_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftCluster_STATUS from the provided source +func (cluster *HcpOpenShiftCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.HcpOpenShiftCluster_STATUS) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_HcpOpenShiftCluster_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftCluster_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = cluster.AssignProperties_From_HcpOpenShiftCluster_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftCluster_STATUS +func (cluster *HcpOpenShiftCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.HcpOpenShiftCluster_STATUS) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_HcpOpenShiftCluster_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftCluster_STATUS{} + err := cluster.AssignProperties_To_HcpOpenShiftCluster_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &HcpOpenShiftCluster_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cluster *HcpOpenShiftCluster_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftCluster_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cluster *HcpOpenShiftCluster_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftCluster_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftCluster_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + cluster.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + cluster.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + cluster.Location = &location + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + cluster.Name = &name + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 HcpOpenShiftClusterProperties_STATUS + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + cluster.Properties = &properties + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + cluster.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + cluster.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + cluster.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + cluster.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_HcpOpenShiftCluster_STATUS populates our HcpOpenShiftCluster_STATUS from the provided source HcpOpenShiftCluster_STATUS +func (cluster *HcpOpenShiftCluster_STATUS) AssignProperties_From_HcpOpenShiftCluster_STATUS(source *storage.HcpOpenShiftCluster_STATUS) error { + + // Conditions + cluster.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + cluster.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity_STATUS + err := identity.AssignProperties_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // Name + cluster.Name = genruntime.ClonePointerToString(source.Name) + + // Properties + if source.Properties != nil { + var property HcpOpenShiftClusterProperties_STATUS + err := property.AssignProperties_From_HcpOpenShiftClusterProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClusterProperties_STATUS() to populate field Properties") + } + cluster.Properties = &property + } else { + cluster.Properties = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + cluster.SystemData = &systemDatum + } else { + cluster.SystemData = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + cluster.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftCluster_STATUS populates the provided destination HcpOpenShiftCluster_STATUS from our HcpOpenShiftCluster_STATUS +func (cluster *HcpOpenShiftCluster_STATUS) AssignProperties_To_HcpOpenShiftCluster_STATUS(destination *storage.HcpOpenShiftCluster_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(cluster.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(cluster.Id) + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedServiceIdentity_STATUS + err := cluster.Identity.AssignProperties_To_ManagedServiceIdentity_STATUS(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // Name + destination.Name = genruntime.ClonePointerToString(cluster.Name) + + // Properties + if cluster.Properties != nil { + var property storage.HcpOpenShiftClusterProperties_STATUS + err := cluster.Properties.AssignProperties_To_HcpOpenShiftClusterProperties_STATUS(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClusterProperties_STATUS() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // SystemData + if cluster.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := cluster.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(cluster.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClusterOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` + + // Secrets: configures where to place Azure generated secrets. + Secrets *HcpOpenShiftClusterOperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_HcpOpenShiftClusterOperatorSpec populates our HcpOpenShiftClusterOperatorSpec from the provided source HcpOpenShiftClusterOperatorSpec +func (operator *HcpOpenShiftClusterOperatorSpec) AssignProperties_From_HcpOpenShiftClusterOperatorSpec(source *storage.HcpOpenShiftClusterOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // Secrets + if source.Secrets != nil { + var secret HcpOpenShiftClusterOperatorSecrets + err := secret.AssignProperties_From_HcpOpenShiftClusterOperatorSecrets(source.Secrets) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClusterOperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClusterOperatorSpec populates the provided destination HcpOpenShiftClusterOperatorSpec from our HcpOpenShiftClusterOperatorSpec +func (operator *HcpOpenShiftClusterOperatorSpec) AssignProperties_To_HcpOpenShiftClusterOperatorSpec(destination *storage.HcpOpenShiftClusterOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Secrets + if operator.Secrets != nil { + var secret storage.HcpOpenShiftClusterOperatorSecrets + err := operator.Secrets.AssignProperties_To_HcpOpenShiftClusterOperatorSecrets(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClusterOperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// HCP cluster properties +type HcpOpenShiftClusterProperties struct { + // Api: Shows the cluster API server profile + Api *ApiProfile `json:"api,omitempty"` + + // Autoscaling: Configure ClusterAutoscaling . + Autoscaling *ClusterAutoscalingProfile `json:"autoscaling,omitempty"` + + // ClusterImageRegistry: OpenShift internal image registry + ClusterImageRegistry *ClusterImageRegistryProfile `json:"clusterImageRegistry,omitempty"` + + // Dns: Cluster DNS configuration + Dns *DnsProfile `json:"dns,omitempty"` + + // Etcd: Configure ETCD. + Etcd *EtcdProfile `json:"etcd,omitempty"` + + // Network: Cluster network configuration + Network *NetworkProfile `json:"network,omitempty"` + + // +kubebuilder:validation:Maximum=10080 + // +kubebuilder:validation:Minimum=0 + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are in minutes and from 0 to 10080 minutes (1 week). + // 0 means that the MachinePool can be drained without any time limitation. + // This is the value is used a default for all NodePools. It can be overridden + // by specifying nodeDrainTimeoutMinutes for a given NodePool + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // +kubebuilder:validation:Required + // Platform: Azure platform configuration + Platform *PlatformProfile `json:"platform,omitempty"` + + // Version: Version of the control plane components + Version *VersionProfile `json:"version,omitempty"` +} + +var _ genruntime.ARMTransformer = &HcpOpenShiftClusterProperties{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (properties *HcpOpenShiftClusterProperties) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if properties == nil { + return nil, nil + } + result := &arm.HcpOpenShiftClusterProperties{} + + // Set property "Api": + if properties.Api != nil { + api_ARM, err := properties.Api.ConvertToARM(resolved) + if err != nil { + return nil, err + } + api := *api_ARM.(*arm.ApiProfile) + result.Api = &api + } + + // Set property "Autoscaling": + if properties.Autoscaling != nil { + autoscaling_ARM, err := properties.Autoscaling.ConvertToARM(resolved) + if err != nil { + return nil, err + } + autoscaling := *autoscaling_ARM.(*arm.ClusterAutoscalingProfile) + result.Autoscaling = &autoscaling + } + + // Set property "ClusterImageRegistry": + if properties.ClusterImageRegistry != nil { + clusterImageRegistry_ARM, err := properties.ClusterImageRegistry.ConvertToARM(resolved) + if err != nil { + return nil, err + } + clusterImageRegistry := *clusterImageRegistry_ARM.(*arm.ClusterImageRegistryProfile) + result.ClusterImageRegistry = &clusterImageRegistry + } + + // Set property "Dns": + if properties.Dns != nil { + dns_ARM, err := properties.Dns.ConvertToARM(resolved) + if err != nil { + return nil, err + } + dns := *dns_ARM.(*arm.DnsProfile) + result.Dns = &dns + } + + // Set property "Etcd": + if properties.Etcd != nil { + etcd_ARM, err := properties.Etcd.ConvertToARM(resolved) + if err != nil { + return nil, err + } + etcd := *etcd_ARM.(*arm.EtcdProfile) + result.Etcd = &etcd + } + + // Set property "Network": + if properties.Network != nil { + network_ARM, err := properties.Network.ConvertToARM(resolved) + if err != nil { + return nil, err + } + network := *network_ARM.(*arm.NetworkProfile) + result.Network = &network + } + + // Set property "NodeDrainTimeoutMinutes": + if properties.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *properties.NodeDrainTimeoutMinutes + result.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if properties.Platform != nil { + platform_ARM, err := properties.Platform.ConvertToARM(resolved) + if err != nil { + return nil, err + } + platform := *platform_ARM.(*arm.PlatformProfile) + result.Platform = &platform + } + + // Set property "Version": + if properties.Version != nil { + version_ARM, err := properties.Version.ConvertToARM(resolved) + if err != nil { + return nil, err + } + version := *version_ARM.(*arm.VersionProfile) + result.Version = &version + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *HcpOpenShiftClusterProperties) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClusterProperties{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *HcpOpenShiftClusterProperties) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClusterProperties) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClusterProperties, got %T", armInput) + } + + // Set property "Api": + if typedInput.Api != nil { + var api1 ApiProfile + err := api1.PopulateFromARM(owner, *typedInput.Api) + if err != nil { + return err + } + api := api1 + properties.Api = &api + } + + // Set property "Autoscaling": + if typedInput.Autoscaling != nil { + var autoscaling1 ClusterAutoscalingProfile + err := autoscaling1.PopulateFromARM(owner, *typedInput.Autoscaling) + if err != nil { + return err + } + autoscaling := autoscaling1 + properties.Autoscaling = &autoscaling + } + + // Set property "ClusterImageRegistry": + if typedInput.ClusterImageRegistry != nil { + var clusterImageRegistry1 ClusterImageRegistryProfile + err := clusterImageRegistry1.PopulateFromARM(owner, *typedInput.ClusterImageRegistry) + if err != nil { + return err + } + clusterImageRegistry := clusterImageRegistry1 + properties.ClusterImageRegistry = &clusterImageRegistry + } + + // Set property "Dns": + if typedInput.Dns != nil { + var dns1 DnsProfile + err := dns1.PopulateFromARM(owner, *typedInput.Dns) + if err != nil { + return err + } + dns := dns1 + properties.Dns = &dns + } + + // Set property "Etcd": + if typedInput.Etcd != nil { + var etcd1 EtcdProfile + err := etcd1.PopulateFromARM(owner, *typedInput.Etcd) + if err != nil { + return err + } + etcd := etcd1 + properties.Etcd = &etcd + } + + // Set property "Network": + if typedInput.Network != nil { + var network1 NetworkProfile + err := network1.PopulateFromARM(owner, *typedInput.Network) + if err != nil { + return err + } + network := network1 + properties.Network = &network + } + + // Set property "NodeDrainTimeoutMinutes": + if typedInput.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *typedInput.NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if typedInput.Platform != nil { + var platform1 PlatformProfile + err := platform1.PopulateFromARM(owner, *typedInput.Platform) + if err != nil { + return err + } + platform := platform1 + properties.Platform = &platform + } + + // Set property "Version": + if typedInput.Version != nil { + var version1 VersionProfile + err := version1.PopulateFromARM(owner, *typedInput.Version) + if err != nil { + return err + } + version := version1 + properties.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_HcpOpenShiftClusterProperties populates our HcpOpenShiftClusterProperties from the provided source HcpOpenShiftClusterProperties +func (properties *HcpOpenShiftClusterProperties) AssignProperties_From_HcpOpenShiftClusterProperties(source *storage.HcpOpenShiftClusterProperties) error { + + // Api + if source.Api != nil { + var api ApiProfile + err := api.AssignProperties_From_ApiProfile(source.Api) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ApiProfile() to populate field Api") + } + properties.Api = &api + } else { + properties.Api = nil + } + + // Autoscaling + if source.Autoscaling != nil { + var autoscaling ClusterAutoscalingProfile + err := autoscaling.AssignProperties_From_ClusterAutoscalingProfile(source.Autoscaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClusterAutoscalingProfile() to populate field Autoscaling") + } + properties.Autoscaling = &autoscaling + } else { + properties.Autoscaling = nil + } + + // ClusterImageRegistry + if source.ClusterImageRegistry != nil { + var clusterImageRegistry ClusterImageRegistryProfile + err := clusterImageRegistry.AssignProperties_From_ClusterImageRegistryProfile(source.ClusterImageRegistry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClusterImageRegistryProfile() to populate field ClusterImageRegistry") + } + properties.ClusterImageRegistry = &clusterImageRegistry + } else { + properties.ClusterImageRegistry = nil + } + + // Dns + if source.Dns != nil { + var dnsDNS DnsProfile + err := dnsDNS.AssignProperties_From_DnsProfile(source.Dns) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_DnsProfile() to populate field Dns") + } + properties.Dns = &dnsDNS + } else { + properties.Dns = nil + } + + // Etcd + if source.Etcd != nil { + var etcd EtcdProfile + err := etcd.AssignProperties_From_EtcdProfile(source.Etcd) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EtcdProfile() to populate field Etcd") + } + properties.Etcd = &etcd + } else { + properties.Etcd = nil + } + + // Network + if source.Network != nil { + var network NetworkProfile + err := network.AssignProperties_From_NetworkProfile(source.Network) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NetworkProfile() to populate field Network") + } + properties.Network = &network + } else { + properties.Network = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform PlatformProfile + err := platform.AssignProperties_From_PlatformProfile(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_PlatformProfile() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // Version + if source.Version != nil { + var version VersionProfile + err := version.AssignProperties_From_VersionProfile(source.Version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VersionProfile() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClusterProperties populates the provided destination HcpOpenShiftClusterProperties from our HcpOpenShiftClusterProperties +func (properties *HcpOpenShiftClusterProperties) AssignProperties_To_HcpOpenShiftClusterProperties(destination *storage.HcpOpenShiftClusterProperties) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Api + if properties.Api != nil { + var api storage.ApiProfile + err := properties.Api.AssignProperties_To_ApiProfile(&api) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ApiProfile() to populate field Api") + } + destination.Api = &api + } else { + destination.Api = nil + } + + // Autoscaling + if properties.Autoscaling != nil { + var autoscaling storage.ClusterAutoscalingProfile + err := properties.Autoscaling.AssignProperties_To_ClusterAutoscalingProfile(&autoscaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClusterAutoscalingProfile() to populate field Autoscaling") + } + destination.Autoscaling = &autoscaling + } else { + destination.Autoscaling = nil + } + + // ClusterImageRegistry + if properties.ClusterImageRegistry != nil { + var clusterImageRegistry storage.ClusterImageRegistryProfile + err := properties.ClusterImageRegistry.AssignProperties_To_ClusterImageRegistryProfile(&clusterImageRegistry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClusterImageRegistryProfile() to populate field ClusterImageRegistry") + } + destination.ClusterImageRegistry = &clusterImageRegistry + } else { + destination.ClusterImageRegistry = nil + } + + // Dns + if properties.Dns != nil { + var dnsDNS storage.DnsProfile + err := properties.Dns.AssignProperties_To_DnsProfile(&dnsDNS) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_DnsProfile() to populate field Dns") + } + destination.Dns = &dnsDNS + } else { + destination.Dns = nil + } + + // Etcd + if properties.Etcd != nil { + var etcd storage.EtcdProfile + err := properties.Etcd.AssignProperties_To_EtcdProfile(&etcd) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EtcdProfile() to populate field Etcd") + } + destination.Etcd = &etcd + } else { + destination.Etcd = nil + } + + // Network + if properties.Network != nil { + var network storage.NetworkProfile + err := properties.Network.AssignProperties_To_NetworkProfile(&network) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NetworkProfile() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // NodeDrainTimeoutMinutes + destination.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(properties.NodeDrainTimeoutMinutes) + + // Platform + if properties.Platform != nil { + var platform storage.PlatformProfile + err := properties.Platform.AssignProperties_To_PlatformProfile(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_PlatformProfile() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // Version + if properties.Version != nil { + var version storage.VersionProfile + err := properties.Version.AssignProperties_To_VersionProfile(&version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VersionProfile() to populate field Version") + } + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HcpOpenShiftClusterProperties_STATUS populates our HcpOpenShiftClusterProperties from the provided source HcpOpenShiftClusterProperties_STATUS +func (properties *HcpOpenShiftClusterProperties) Initialize_From_HcpOpenShiftClusterProperties_STATUS(source *HcpOpenShiftClusterProperties_STATUS) error { + + // Api + if source.Api != nil { + var api ApiProfile + err := api.Initialize_From_ApiProfile_STATUS(source.Api) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ApiProfile_STATUS() to populate field Api") + } + properties.Api = &api + } else { + properties.Api = nil + } + + // Autoscaling + if source.Autoscaling != nil { + var autoscaling ClusterAutoscalingProfile + err := autoscaling.Initialize_From_ClusterAutoscalingProfile_STATUS(source.Autoscaling) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ClusterAutoscalingProfile_STATUS() to populate field Autoscaling") + } + properties.Autoscaling = &autoscaling + } else { + properties.Autoscaling = nil + } + + // ClusterImageRegistry + if source.ClusterImageRegistry != nil { + var clusterImageRegistry ClusterImageRegistryProfile + err := clusterImageRegistry.Initialize_From_ClusterImageRegistryProfile_STATUS(source.ClusterImageRegistry) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ClusterImageRegistryProfile_STATUS() to populate field ClusterImageRegistry") + } + properties.ClusterImageRegistry = &clusterImageRegistry + } else { + properties.ClusterImageRegistry = nil + } + + // Dns + if source.Dns != nil { + var dnsDNS DnsProfile + err := dnsDNS.Initialize_From_DnsProfile_STATUS(source.Dns) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_DnsProfile_STATUS() to populate field Dns") + } + properties.Dns = &dnsDNS + } else { + properties.Dns = nil + } + + // Etcd + if source.Etcd != nil { + var etcd EtcdProfile + err := etcd.Initialize_From_EtcdProfile_STATUS(source.Etcd) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_EtcdProfile_STATUS() to populate field Etcd") + } + properties.Etcd = &etcd + } else { + properties.Etcd = nil + } + + // Network + if source.Network != nil { + var network NetworkProfile + err := network.Initialize_From_NetworkProfile_STATUS(source.Network) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_NetworkProfile_STATUS() to populate field Network") + } + properties.Network = &network + } else { + properties.Network = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform PlatformProfile + err := platform.Initialize_From_PlatformProfile_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_PlatformProfile_STATUS() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // Version + if source.Version != nil { + var version VersionProfile + err := version.Initialize_From_VersionProfile_STATUS(source.Version) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_VersionProfile_STATUS() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// HCP cluster properties +type HcpOpenShiftClusterProperties_STATUS struct { + // Api: Shows the cluster API server profile + Api *ApiProfile_STATUS `json:"api,omitempty"` + + // Autoscaling: Configure ClusterAutoscaling . + Autoscaling *ClusterAutoscalingProfile_STATUS `json:"autoscaling,omitempty"` + + // ClusterImageRegistry: OpenShift internal image registry + ClusterImageRegistry *ClusterImageRegistryProfile_STATUS `json:"clusterImageRegistry,omitempty"` + + // Console: Shows the cluster web console information + Console *ConsoleProfile_STATUS `json:"console,omitempty"` + + // Dns: Cluster DNS configuration + Dns *DnsProfile_STATUS `json:"dns,omitempty"` + + // Etcd: Configure ETCD. + Etcd *EtcdProfile_STATUS `json:"etcd,omitempty"` + + // Network: Cluster network configuration + Network *NetworkProfile_STATUS `json:"network,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are in minutes and from 0 to 10080 minutes (1 week). + // 0 means that the MachinePool can be drained without any time limitation. + // This is the value is used a default for all NodePools. It can be overridden + // by specifying nodeDrainTimeoutMinutes for a given NodePool + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure platform configuration + Platform *PlatformProfile_STATUS `json:"platform,omitempty"` + + // ProvisioningState: The status of the last operation. + ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Version: Version of the control plane components + Version *VersionProfile_STATUS `json:"version,omitempty"` +} + +var _ genruntime.FromARMConverter = &HcpOpenShiftClusterProperties_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *HcpOpenShiftClusterProperties_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClusterProperties_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *HcpOpenShiftClusterProperties_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClusterProperties_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClusterProperties_STATUS, got %T", armInput) + } + + // Set property "Api": + if typedInput.Api != nil { + var api1 ApiProfile_STATUS + err := api1.PopulateFromARM(owner, *typedInput.Api) + if err != nil { + return err + } + api := api1 + properties.Api = &api + } + + // Set property "Autoscaling": + if typedInput.Autoscaling != nil { + var autoscaling1 ClusterAutoscalingProfile_STATUS + err := autoscaling1.PopulateFromARM(owner, *typedInput.Autoscaling) + if err != nil { + return err + } + autoscaling := autoscaling1 + properties.Autoscaling = &autoscaling + } + + // Set property "ClusterImageRegistry": + if typedInput.ClusterImageRegistry != nil { + var clusterImageRegistry1 ClusterImageRegistryProfile_STATUS + err := clusterImageRegistry1.PopulateFromARM(owner, *typedInput.ClusterImageRegistry) + if err != nil { + return err + } + clusterImageRegistry := clusterImageRegistry1 + properties.ClusterImageRegistry = &clusterImageRegistry + } + + // Set property "Console": + if typedInput.Console != nil { + var console1 ConsoleProfile_STATUS + err := console1.PopulateFromARM(owner, *typedInput.Console) + if err != nil { + return err + } + console := console1 + properties.Console = &console + } + + // Set property "Dns": + if typedInput.Dns != nil { + var dns1 DnsProfile_STATUS + err := dns1.PopulateFromARM(owner, *typedInput.Dns) + if err != nil { + return err + } + dns := dns1 + properties.Dns = &dns + } + + // Set property "Etcd": + if typedInput.Etcd != nil { + var etcd1 EtcdProfile_STATUS + err := etcd1.PopulateFromARM(owner, *typedInput.Etcd) + if err != nil { + return err + } + etcd := etcd1 + properties.Etcd = &etcd + } + + // Set property "Network": + if typedInput.Network != nil { + var network1 NetworkProfile_STATUS + err := network1.PopulateFromARM(owner, *typedInput.Network) + if err != nil { + return err + } + network := network1 + properties.Network = &network + } + + // Set property "NodeDrainTimeoutMinutes": + if typedInput.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *typedInput.NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if typedInput.Platform != nil { + var platform1 PlatformProfile_STATUS + err := platform1.PopulateFromARM(owner, *typedInput.Platform) + if err != nil { + return err + } + platform := platform1 + properties.Platform = &platform + } + + // Set property "ProvisioningState": + if typedInput.ProvisioningState != nil { + var temp string + temp = string(*typedInput.ProvisioningState) + provisioningState := ProvisioningState_STATUS(temp) + properties.ProvisioningState = &provisioningState + } + + // Set property "Version": + if typedInput.Version != nil { + var version1 VersionProfile_STATUS + err := version1.PopulateFromARM(owner, *typedInput.Version) + if err != nil { + return err + } + version := version1 + properties.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_HcpOpenShiftClusterProperties_STATUS populates our HcpOpenShiftClusterProperties_STATUS from the provided source HcpOpenShiftClusterProperties_STATUS +func (properties *HcpOpenShiftClusterProperties_STATUS) AssignProperties_From_HcpOpenShiftClusterProperties_STATUS(source *storage.HcpOpenShiftClusterProperties_STATUS) error { + + // Api + if source.Api != nil { + var api ApiProfile_STATUS + err := api.AssignProperties_From_ApiProfile_STATUS(source.Api) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ApiProfile_STATUS() to populate field Api") + } + properties.Api = &api + } else { + properties.Api = nil + } + + // Autoscaling + if source.Autoscaling != nil { + var autoscaling ClusterAutoscalingProfile_STATUS + err := autoscaling.AssignProperties_From_ClusterAutoscalingProfile_STATUS(source.Autoscaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClusterAutoscalingProfile_STATUS() to populate field Autoscaling") + } + properties.Autoscaling = &autoscaling + } else { + properties.Autoscaling = nil + } + + // ClusterImageRegistry + if source.ClusterImageRegistry != nil { + var clusterImageRegistry ClusterImageRegistryProfile_STATUS + err := clusterImageRegistry.AssignProperties_From_ClusterImageRegistryProfile_STATUS(source.ClusterImageRegistry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClusterImageRegistryProfile_STATUS() to populate field ClusterImageRegistry") + } + properties.ClusterImageRegistry = &clusterImageRegistry + } else { + properties.ClusterImageRegistry = nil + } + + // Console + if source.Console != nil { + var console ConsoleProfile_STATUS + err := console.AssignProperties_From_ConsoleProfile_STATUS(source.Console) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ConsoleProfile_STATUS() to populate field Console") + } + properties.Console = &console + } else { + properties.Console = nil + } + + // Dns + if source.Dns != nil { + var dnsDNS DnsProfile_STATUS + err := dnsDNS.AssignProperties_From_DnsProfile_STATUS(source.Dns) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_DnsProfile_STATUS() to populate field Dns") + } + properties.Dns = &dnsDNS + } else { + properties.Dns = nil + } + + // Etcd + if source.Etcd != nil { + var etcd EtcdProfile_STATUS + err := etcd.AssignProperties_From_EtcdProfile_STATUS(source.Etcd) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EtcdProfile_STATUS() to populate field Etcd") + } + properties.Etcd = &etcd + } else { + properties.Etcd = nil + } + + // Network + if source.Network != nil { + var network NetworkProfile_STATUS + err := network.AssignProperties_From_NetworkProfile_STATUS(source.Network) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NetworkProfile_STATUS() to populate field Network") + } + properties.Network = &network + } else { + properties.Network = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform PlatformProfile_STATUS + err := platform.AssignProperties_From_PlatformProfile_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_PlatformProfile_STATUS() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, provisioningState_STATUS_Values) + properties.ProvisioningState = &provisioningStateTemp + } else { + properties.ProvisioningState = nil + } + + // Version + if source.Version != nil { + var version VersionProfile_STATUS + err := version.AssignProperties_From_VersionProfile_STATUS(source.Version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VersionProfile_STATUS() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClusterProperties_STATUS populates the provided destination HcpOpenShiftClusterProperties_STATUS from our HcpOpenShiftClusterProperties_STATUS +func (properties *HcpOpenShiftClusterProperties_STATUS) AssignProperties_To_HcpOpenShiftClusterProperties_STATUS(destination *storage.HcpOpenShiftClusterProperties_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Api + if properties.Api != nil { + var api storage.ApiProfile_STATUS + err := properties.Api.AssignProperties_To_ApiProfile_STATUS(&api) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ApiProfile_STATUS() to populate field Api") + } + destination.Api = &api + } else { + destination.Api = nil + } + + // Autoscaling + if properties.Autoscaling != nil { + var autoscaling storage.ClusterAutoscalingProfile_STATUS + err := properties.Autoscaling.AssignProperties_To_ClusterAutoscalingProfile_STATUS(&autoscaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClusterAutoscalingProfile_STATUS() to populate field Autoscaling") + } + destination.Autoscaling = &autoscaling + } else { + destination.Autoscaling = nil + } + + // ClusterImageRegistry + if properties.ClusterImageRegistry != nil { + var clusterImageRegistry storage.ClusterImageRegistryProfile_STATUS + err := properties.ClusterImageRegistry.AssignProperties_To_ClusterImageRegistryProfile_STATUS(&clusterImageRegistry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClusterImageRegistryProfile_STATUS() to populate field ClusterImageRegistry") + } + destination.ClusterImageRegistry = &clusterImageRegistry + } else { + destination.ClusterImageRegistry = nil + } + + // Console + if properties.Console != nil { + var console storage.ConsoleProfile_STATUS + err := properties.Console.AssignProperties_To_ConsoleProfile_STATUS(&console) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ConsoleProfile_STATUS() to populate field Console") + } + destination.Console = &console + } else { + destination.Console = nil + } + + // Dns + if properties.Dns != nil { + var dnsDNS storage.DnsProfile_STATUS + err := properties.Dns.AssignProperties_To_DnsProfile_STATUS(&dnsDNS) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_DnsProfile_STATUS() to populate field Dns") + } + destination.Dns = &dnsDNS + } else { + destination.Dns = nil + } + + // Etcd + if properties.Etcd != nil { + var etcd storage.EtcdProfile_STATUS + err := properties.Etcd.AssignProperties_To_EtcdProfile_STATUS(&etcd) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EtcdProfile_STATUS() to populate field Etcd") + } + destination.Etcd = &etcd + } else { + destination.Etcd = nil + } + + // Network + if properties.Network != nil { + var network storage.NetworkProfile_STATUS + err := properties.Network.AssignProperties_To_NetworkProfile_STATUS(&network) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NetworkProfile_STATUS() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // NodeDrainTimeoutMinutes + destination.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(properties.NodeDrainTimeoutMinutes) + + // Platform + if properties.Platform != nil { + var platform storage.PlatformProfile_STATUS + err := properties.Platform.AssignProperties_To_PlatformProfile_STATUS(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_PlatformProfile_STATUS() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // ProvisioningState + if properties.ProvisioningState != nil { + provisioningState := string(*properties.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // Version + if properties.Version != nil { + var version storage.VersionProfile_STATUS + err := properties.Version.AssignProperties_To_VersionProfile_STATUS(&version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VersionProfile_STATUS() to populate field Version") + } + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + // +kubebuilder:validation:Required + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType `json:"type,omitempty"` + + // UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + // dictionary keys will be ARM resource ids in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + // The dictionary values can be empty objects ({}) in requests. + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedServiceIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *ManagedServiceIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.ManagedServiceIdentity{} + + // Set property "Type": + if identity.Type != nil { + var temp string + temp = string(*identity.Type) + typeVar := arm.ManagedServiceIdentityType(temp) + result.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + result.UserAssignedIdentities = make(map[string]arm.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for _, ident := range identity.UserAssignedIdentities { + identARMID, err := resolved.ResolvedReferences.Lookup(ident.Reference) + if err != nil { + return nil, err + } + key := identARMID + result.UserAssignedIdentities[key] = arm.UserAssignedIdentityDetails{} + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedServiceIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedServiceIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedServiceIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedServiceIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedServiceIdentity, got %T", armInput) + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedServiceIdentityType(temp) + identity.Type = &typeVar + } + + // no assignment for property "UserAssignedIdentities" + + // No error + return nil +} + +// AssignProperties_From_ManagedServiceIdentity populates our ManagedServiceIdentity from the provided source ManagedServiceIdentity +func (identity *ManagedServiceIdentity) AssignProperties_From_ManagedServiceIdentity(source *storage.ManagedServiceIdentity) error { + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, managedServiceIdentityType_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + var userAssignedIdentity UserAssignedIdentityDetails + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentityDetails(&userAssignedIdentityItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedServiceIdentity populates the provided destination ManagedServiceIdentity from our ManagedServiceIdentity +func (identity *ManagedServiceIdentity) AssignProperties_To_ManagedServiceIdentity(destination *storage.ManagedServiceIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + var userAssignedIdentity storage.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedServiceIdentity_STATUS populates our ManagedServiceIdentity from the provided source ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity) Initialize_From_ManagedServiceIdentity_STATUS(source *ManagedServiceIdentity_STATUS) error { + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), managedServiceIdentityType_Values) + identity.Type = &typeVar + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, 0, len(source.UserAssignedIdentities)) + for userAssignedIdentitiesKey := range source.UserAssignedIdentities { + userAssignedIdentitiesRef := genruntime.CreateResourceReferenceFromARMID(userAssignedIdentitiesKey) + userAssignedIdentityList = append(userAssignedIdentityList, UserAssignedIdentityDetails{Reference: userAssignedIdentitiesRef}) + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_STATUS struct { + // PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + // assigned identity. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + // identity. + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: The set of user assigned identities associated with the resource. The userAssignedIdentities + // dictionary keys will be ARM resource ids in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + // The dictionary values can be empty objects ({}) in requests. + UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedServiceIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedServiceIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedServiceIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedServiceIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedServiceIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedServiceIdentity_STATUS, got %T", armInput) + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identity.PrincipalId = &principalId + } + + // Set property "TenantId": + if typedInput.TenantId != nil { + tenantId := *typedInput.TenantId + identity.TenantId = &tenantId + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedServiceIdentityType_STATUS(temp) + identity.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity_STATUS, len(typedInput.UserAssignedIdentities)) + for key, value := range typedInput.UserAssignedIdentities { + var value1 UserAssignedIdentity_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + identity.UserAssignedIdentities[key] = value1 + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedServiceIdentity_STATUS populates our ManagedServiceIdentity_STATUS from the provided source ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity_STATUS) AssignProperties_From_ManagedServiceIdentity_STATUS(source *storage.ManagedServiceIdentity_STATUS) error { + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // TenantId + identity.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, managedServiceIdentityType_STATUS_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]UserAssignedIdentity_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + var userAssignedIdentity UserAssignedIdentity_STATUS + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentity_STATUS(&userAssignedIdentityValue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedServiceIdentity_STATUS populates the provided destination ManagedServiceIdentity_STATUS from our ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity_STATUS) AssignProperties_To_ManagedServiceIdentity_STATUS(destination *storage.ManagedServiceIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(identity.TenantId) + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]storage.UserAssignedIdentity_STATUS, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + var userAssignedIdentity storage.UserAssignedIdentity_STATUS + err := userAssignedIdentityValue.AssignProperties_To_UserAssignedIdentity_STATUS(&userAssignedIdentity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityMap + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +var _ genruntime.FromARMConverter = &SystemData_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *SystemData_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SystemData_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *SystemData_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SystemData_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SystemData_STATUS, got %T", armInput) + } + + // Set property "CreatedAt": + if typedInput.CreatedAt != nil { + createdAt := *typedInput.CreatedAt + data.CreatedAt = &createdAt + } + + // Set property "CreatedBy": + if typedInput.CreatedBy != nil { + createdBy := *typedInput.CreatedBy + data.CreatedBy = &createdBy + } + + // Set property "CreatedByType": + if typedInput.CreatedByType != nil { + var temp string + temp = string(*typedInput.CreatedByType) + createdByType := SystemData_CreatedByType_STATUS(temp) + data.CreatedByType = &createdByType + } + + // Set property "LastModifiedAt": + if typedInput.LastModifiedAt != nil { + lastModifiedAt := *typedInput.LastModifiedAt + data.LastModifiedAt = &lastModifiedAt + } + + // Set property "LastModifiedBy": + if typedInput.LastModifiedBy != nil { + lastModifiedBy := *typedInput.LastModifiedBy + data.LastModifiedBy = &lastModifiedBy + } + + // Set property "LastModifiedByType": + if typedInput.LastModifiedByType != nil { + var temp string + temp = string(*typedInput.LastModifiedByType) + lastModifiedByType := SystemData_LastModifiedByType_STATUS(temp) + data.LastModifiedByType = &lastModifiedByType + } + + // No error + return nil +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + if source.CreatedByType != nil { + createdByType := *source.CreatedByType + createdByTypeTemp := genruntime.ToEnum(createdByType, systemData_CreatedByType_STATUS_Values) + data.CreatedByType = &createdByTypeTemp + } else { + data.CreatedByType = nil + } + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + if source.LastModifiedByType != nil { + lastModifiedByType := *source.LastModifiedByType + lastModifiedByTypeTemp := genruntime.ToEnum(lastModifiedByType, systemData_LastModifiedByType_STATUS_Values) + data.LastModifiedByType = &lastModifiedByTypeTemp + } else { + data.LastModifiedByType = nil + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + if data.CreatedByType != nil { + createdByType := string(*data.CreatedByType) + destination.CreatedByType = &createdByType + } else { + destination.CreatedByType = nil + } + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + if data.LastModifiedByType != nil { + lastModifiedByType := string(*data.LastModifiedByType) + destination.LastModifiedByType = &lastModifiedByType + } else { + destination.LastModifiedByType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Information about the API of a cluster. +type ApiProfile struct { + // +kubebuilder:validation:MaxItems=500 + // AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries. + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + + // Visibility: The internet visibility of the OpenShift API server + Visibility *ApiProfile_Visibility `json:"visibility,omitempty"` +} + +var _ genruntime.ARMTransformer = &ApiProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ApiProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ApiProfile{} + + // Set property "AuthorizedCidrs": + for _, item := range profile.AuthorizedCidrs { + result.AuthorizedCidrs = append(result.AuthorizedCidrs, item) + } + + // Set property "Visibility": + if profile.Visibility != nil { + var temp string + temp = string(*profile.Visibility) + visibility := arm.ApiProfile_Visibility(temp) + result.Visibility = &visibility + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ApiProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ApiProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ApiProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ApiProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ApiProfile, got %T", armInput) + } + + // Set property "AuthorizedCidrs": + for _, item := range typedInput.AuthorizedCidrs { + profile.AuthorizedCidrs = append(profile.AuthorizedCidrs, item) + } + + // Set property "Visibility": + if typedInput.Visibility != nil { + var temp string + temp = string(*typedInput.Visibility) + visibility := ApiProfile_Visibility(temp) + profile.Visibility = &visibility + } + + // No error + return nil +} + +// AssignProperties_From_ApiProfile populates our ApiProfile from the provided source ApiProfile +func (profile *ApiProfile) AssignProperties_From_ApiProfile(source *storage.ApiProfile) error { + + // AuthorizedCidrs + profile.AuthorizedCidrs = genruntime.CloneSliceOfString(source.AuthorizedCidrs) + + // Visibility + if source.Visibility != nil { + visibility := *source.Visibility + visibilityTemp := genruntime.ToEnum(visibility, apiProfile_Visibility_Values) + profile.Visibility = &visibilityTemp + } else { + profile.Visibility = nil + } + + // No error + return nil +} + +// AssignProperties_To_ApiProfile populates the provided destination ApiProfile from our ApiProfile +func (profile *ApiProfile) AssignProperties_To_ApiProfile(destination *storage.ApiProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizedCidrs + destination.AuthorizedCidrs = genruntime.CloneSliceOfString(profile.AuthorizedCidrs) + + // Visibility + if profile.Visibility != nil { + visibility := string(*profile.Visibility) + destination.Visibility = &visibility + } else { + destination.Visibility = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ApiProfile_STATUS populates our ApiProfile from the provided source ApiProfile_STATUS +func (profile *ApiProfile) Initialize_From_ApiProfile_STATUS(source *ApiProfile_STATUS) error { + + // AuthorizedCidrs + profile.AuthorizedCidrs = genruntime.CloneSliceOfString(source.AuthorizedCidrs) + + // Visibility + if source.Visibility != nil { + visibility := genruntime.ToEnum(string(*source.Visibility), apiProfile_Visibility_Values) + profile.Visibility = &visibility + } else { + profile.Visibility = nil + } + + // No error + return nil +} + +// Information about the API of a cluster. +type ApiProfile_STATUS struct { + // AuthorizedCidrs: The list of authorized IPv4 CIDR blocks allowed to access the API server. Maximum 500 entries. + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + + // Url: URL endpoint for the API server + Url *string `json:"url,omitempty"` + + // Visibility: The internet visibility of the OpenShift API server + Visibility *ApiProfile_Visibility_STATUS `json:"visibility,omitempty"` +} + +var _ genruntime.FromARMConverter = &ApiProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ApiProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ApiProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ApiProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ApiProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ApiProfile_STATUS, got %T", armInput) + } + + // Set property "AuthorizedCidrs": + for _, item := range typedInput.AuthorizedCidrs { + profile.AuthorizedCidrs = append(profile.AuthorizedCidrs, item) + } + + // Set property "Url": + if typedInput.Url != nil { + url := *typedInput.Url + profile.Url = &url + } + + // Set property "Visibility": + if typedInput.Visibility != nil { + var temp string + temp = string(*typedInput.Visibility) + visibility := ApiProfile_Visibility_STATUS(temp) + profile.Visibility = &visibility + } + + // No error + return nil +} + +// AssignProperties_From_ApiProfile_STATUS populates our ApiProfile_STATUS from the provided source ApiProfile_STATUS +func (profile *ApiProfile_STATUS) AssignProperties_From_ApiProfile_STATUS(source *storage.ApiProfile_STATUS) error { + + // AuthorizedCidrs + profile.AuthorizedCidrs = genruntime.CloneSliceOfString(source.AuthorizedCidrs) + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // Visibility + if source.Visibility != nil { + visibility := *source.Visibility + visibilityTemp := genruntime.ToEnum(visibility, apiProfile_Visibility_STATUS_Values) + profile.Visibility = &visibilityTemp + } else { + profile.Visibility = nil + } + + // No error + return nil +} + +// AssignProperties_To_ApiProfile_STATUS populates the provided destination ApiProfile_STATUS from our ApiProfile_STATUS +func (profile *ApiProfile_STATUS) AssignProperties_To_ApiProfile_STATUS(destination *storage.ApiProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizedCidrs + destination.AuthorizedCidrs = genruntime.CloneSliceOfString(profile.AuthorizedCidrs) + + // Url + destination.Url = genruntime.ClonePointerToString(profile.Url) + + // Visibility + if profile.Visibility != nil { + visibility := string(*profile.Visibility) + destination.Visibility = &visibility + } else { + destination.Visibility = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile struct { + // +kubebuilder:validation:Minimum=0 + // MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + // considering the + // provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + + // +kubebuilder:validation:Minimum=0 + // MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + // The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + + // +kubebuilder:validation:Minimum=0 + // MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + // down a NodePool. + // The default is 600 seconds. + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + + // PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + // autoscaler actions, + // but only run when there are spare resources available. The default is -10. + // See the following for more details: + // https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` +} + +var _ genruntime.ARMTransformer = &ClusterAutoscalingProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ClusterAutoscalingProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ClusterAutoscalingProfile{} + + // Set property "MaxNodeProvisionTimeSeconds": + if profile.MaxNodeProvisionTimeSeconds != nil { + maxNodeProvisionTimeSeconds := *profile.MaxNodeProvisionTimeSeconds + result.MaxNodeProvisionTimeSeconds = &maxNodeProvisionTimeSeconds + } + + // Set property "MaxNodesTotal": + if profile.MaxNodesTotal != nil { + maxNodesTotal := *profile.MaxNodesTotal + result.MaxNodesTotal = &maxNodesTotal + } + + // Set property "MaxPodGracePeriodSeconds": + if profile.MaxPodGracePeriodSeconds != nil { + maxPodGracePeriodSeconds := *profile.MaxPodGracePeriodSeconds + result.MaxPodGracePeriodSeconds = &maxPodGracePeriodSeconds + } + + // Set property "PodPriorityThreshold": + if profile.PodPriorityThreshold != nil { + podPriorityThreshold := *profile.PodPriorityThreshold + result.PodPriorityThreshold = &podPriorityThreshold + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ClusterAutoscalingProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterAutoscalingProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ClusterAutoscalingProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterAutoscalingProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterAutoscalingProfile, got %T", armInput) + } + + // Set property "MaxNodeProvisionTimeSeconds": + if typedInput.MaxNodeProvisionTimeSeconds != nil { + maxNodeProvisionTimeSeconds := *typedInput.MaxNodeProvisionTimeSeconds + profile.MaxNodeProvisionTimeSeconds = &maxNodeProvisionTimeSeconds + } + + // Set property "MaxNodesTotal": + if typedInput.MaxNodesTotal != nil { + maxNodesTotal := *typedInput.MaxNodesTotal + profile.MaxNodesTotal = &maxNodesTotal + } + + // Set property "MaxPodGracePeriodSeconds": + if typedInput.MaxPodGracePeriodSeconds != nil { + maxPodGracePeriodSeconds := *typedInput.MaxPodGracePeriodSeconds + profile.MaxPodGracePeriodSeconds = &maxPodGracePeriodSeconds + } + + // Set property "PodPriorityThreshold": + if typedInput.PodPriorityThreshold != nil { + podPriorityThreshold := *typedInput.PodPriorityThreshold + profile.PodPriorityThreshold = &podPriorityThreshold + } + + // No error + return nil +} + +// AssignProperties_From_ClusterAutoscalingProfile populates our ClusterAutoscalingProfile from the provided source ClusterAutoscalingProfile +func (profile *ClusterAutoscalingProfile) AssignProperties_From_ClusterAutoscalingProfile(source *storage.ClusterAutoscalingProfile) error { + + // MaxNodeProvisionTimeSeconds + profile.MaxNodeProvisionTimeSeconds = genruntime.ClonePointerToInt(source.MaxNodeProvisionTimeSeconds) + + // MaxNodesTotal + profile.MaxNodesTotal = genruntime.ClonePointerToInt(source.MaxNodesTotal) + + // MaxPodGracePeriodSeconds + profile.MaxPodGracePeriodSeconds = genruntime.ClonePointerToInt(source.MaxPodGracePeriodSeconds) + + // PodPriorityThreshold + profile.PodPriorityThreshold = genruntime.ClonePointerToInt(source.PodPriorityThreshold) + + // No error + return nil +} + +// AssignProperties_To_ClusterAutoscalingProfile populates the provided destination ClusterAutoscalingProfile from our ClusterAutoscalingProfile +func (profile *ClusterAutoscalingProfile) AssignProperties_To_ClusterAutoscalingProfile(destination *storage.ClusterAutoscalingProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxNodeProvisionTimeSeconds + destination.MaxNodeProvisionTimeSeconds = genruntime.ClonePointerToInt(profile.MaxNodeProvisionTimeSeconds) + + // MaxNodesTotal + destination.MaxNodesTotal = genruntime.ClonePointerToInt(profile.MaxNodesTotal) + + // MaxPodGracePeriodSeconds + destination.MaxPodGracePeriodSeconds = genruntime.ClonePointerToInt(profile.MaxPodGracePeriodSeconds) + + // PodPriorityThreshold + destination.PodPriorityThreshold = genruntime.ClonePointerToInt(profile.PodPriorityThreshold) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ClusterAutoscalingProfile_STATUS populates our ClusterAutoscalingProfile from the provided source ClusterAutoscalingProfile_STATUS +func (profile *ClusterAutoscalingProfile) Initialize_From_ClusterAutoscalingProfile_STATUS(source *ClusterAutoscalingProfile_STATUS) error { + + // MaxNodeProvisionTimeSeconds + profile.MaxNodeProvisionTimeSeconds = genruntime.ClonePointerToInt(source.MaxNodeProvisionTimeSeconds) + + // MaxNodesTotal + profile.MaxNodesTotal = genruntime.ClonePointerToInt(source.MaxNodesTotal) + + // MaxPodGracePeriodSeconds + profile.MaxPodGracePeriodSeconds = genruntime.ClonePointerToInt(source.MaxPodGracePeriodSeconds) + + // PodPriorityThreshold + profile.PodPriorityThreshold = genruntime.ClonePointerToInt(source.PodPriorityThreshold) + + // No error + return nil +} + +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile_STATUS struct { + // MaxNodeProvisionTimeSeconds: maxNodeProvisionTimeSeconds is the maximum time to wait for node provisioning before + // considering the + // provisioning to be unsuccessful. The default is 900 seconds, or 15 minutes. + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + + // MaxNodesTotal: maxNodesTotal is the maximum allowable number of nodes for the Autoscaler scale out to be operational. + // The autoscaler will not grow the cluster beyond this number. If omitted, the autoscaler will not have a maximum limit. + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + + // MaxPodGracePeriodSeconds: maxPodGracePeriod is the maximum seconds to wait for graceful pod termination before scaling + // down a NodePool. + // The default is 600 seconds. + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + + // PodPriorityThreshold: podPriorityThreshold enables users to schedule “best-effort” pods, which shouldn’t trigger + // autoscaler actions, + // but only run when there are spare resources available. The default is -10. + // See the following for more details: + // https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` +} + +var _ genruntime.FromARMConverter = &ClusterAutoscalingProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ClusterAutoscalingProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterAutoscalingProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ClusterAutoscalingProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterAutoscalingProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterAutoscalingProfile_STATUS, got %T", armInput) + } + + // Set property "MaxNodeProvisionTimeSeconds": + if typedInput.MaxNodeProvisionTimeSeconds != nil { + maxNodeProvisionTimeSeconds := *typedInput.MaxNodeProvisionTimeSeconds + profile.MaxNodeProvisionTimeSeconds = &maxNodeProvisionTimeSeconds + } + + // Set property "MaxNodesTotal": + if typedInput.MaxNodesTotal != nil { + maxNodesTotal := *typedInput.MaxNodesTotal + profile.MaxNodesTotal = &maxNodesTotal + } + + // Set property "MaxPodGracePeriodSeconds": + if typedInput.MaxPodGracePeriodSeconds != nil { + maxPodGracePeriodSeconds := *typedInput.MaxPodGracePeriodSeconds + profile.MaxPodGracePeriodSeconds = &maxPodGracePeriodSeconds + } + + // Set property "PodPriorityThreshold": + if typedInput.PodPriorityThreshold != nil { + podPriorityThreshold := *typedInput.PodPriorityThreshold + profile.PodPriorityThreshold = &podPriorityThreshold + } + + // No error + return nil +} + +// AssignProperties_From_ClusterAutoscalingProfile_STATUS populates our ClusterAutoscalingProfile_STATUS from the provided source ClusterAutoscalingProfile_STATUS +func (profile *ClusterAutoscalingProfile_STATUS) AssignProperties_From_ClusterAutoscalingProfile_STATUS(source *storage.ClusterAutoscalingProfile_STATUS) error { + + // MaxNodeProvisionTimeSeconds + profile.MaxNodeProvisionTimeSeconds = genruntime.ClonePointerToInt(source.MaxNodeProvisionTimeSeconds) + + // MaxNodesTotal + profile.MaxNodesTotal = genruntime.ClonePointerToInt(source.MaxNodesTotal) + + // MaxPodGracePeriodSeconds + profile.MaxPodGracePeriodSeconds = genruntime.ClonePointerToInt(source.MaxPodGracePeriodSeconds) + + // PodPriorityThreshold + profile.PodPriorityThreshold = genruntime.ClonePointerToInt(source.PodPriorityThreshold) + + // No error + return nil +} + +// AssignProperties_To_ClusterAutoscalingProfile_STATUS populates the provided destination ClusterAutoscalingProfile_STATUS from our ClusterAutoscalingProfile_STATUS +func (profile *ClusterAutoscalingProfile_STATUS) AssignProperties_To_ClusterAutoscalingProfile_STATUS(destination *storage.ClusterAutoscalingProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxNodeProvisionTimeSeconds + destination.MaxNodeProvisionTimeSeconds = genruntime.ClonePointerToInt(profile.MaxNodeProvisionTimeSeconds) + + // MaxNodesTotal + destination.MaxNodesTotal = genruntime.ClonePointerToInt(profile.MaxNodesTotal) + + // MaxPodGracePeriodSeconds + destination.MaxPodGracePeriodSeconds = genruntime.ClonePointerToInt(profile.MaxPodGracePeriodSeconds) + + // PodPriorityThreshold + destination.PodPriorityThreshold = genruntime.ClonePointerToInt(profile.PodPriorityThreshold) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// OpenShift cluster image registry +type ClusterImageRegistryProfile struct { + // State: state indicates the desired ImageStream-backed cluster image registry installation mode. + // This can only be set during cluster creation and cannot be changed after cluster creation. + // Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + // the cluster. Disabled means the ImageStream-backed image registry will not be present in + // the cluster. The default is Enabled. + State *ClusterImageRegistryProfile_State `json:"state,omitempty"` +} + +var _ genruntime.ARMTransformer = &ClusterImageRegistryProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ClusterImageRegistryProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ClusterImageRegistryProfile{} + + // Set property "State": + if profile.State != nil { + var temp string + temp = string(*profile.State) + state := arm.ClusterImageRegistryProfile_State(temp) + result.State = &state + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ClusterImageRegistryProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterImageRegistryProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ClusterImageRegistryProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterImageRegistryProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterImageRegistryProfile, got %T", armInput) + } + + // Set property "State": + if typedInput.State != nil { + var temp string + temp = string(*typedInput.State) + state := ClusterImageRegistryProfile_State(temp) + profile.State = &state + } + + // No error + return nil +} + +// AssignProperties_From_ClusterImageRegistryProfile populates our ClusterImageRegistryProfile from the provided source ClusterImageRegistryProfile +func (profile *ClusterImageRegistryProfile) AssignProperties_From_ClusterImageRegistryProfile(source *storage.ClusterImageRegistryProfile) error { + + // State + if source.State != nil { + state := *source.State + stateTemp := genruntime.ToEnum(state, clusterImageRegistryProfile_State_Values) + profile.State = &stateTemp + } else { + profile.State = nil + } + + // No error + return nil +} + +// AssignProperties_To_ClusterImageRegistryProfile populates the provided destination ClusterImageRegistryProfile from our ClusterImageRegistryProfile +func (profile *ClusterImageRegistryProfile) AssignProperties_To_ClusterImageRegistryProfile(destination *storage.ClusterImageRegistryProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // State + if profile.State != nil { + state := string(*profile.State) + destination.State = &state + } else { + destination.State = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ClusterImageRegistryProfile_STATUS populates our ClusterImageRegistryProfile from the provided source ClusterImageRegistryProfile_STATUS +func (profile *ClusterImageRegistryProfile) Initialize_From_ClusterImageRegistryProfile_STATUS(source *ClusterImageRegistryProfile_STATUS) error { + + // State + if source.State != nil { + state := genruntime.ToEnum(string(*source.State), clusterImageRegistryProfile_State_Values) + profile.State = &state + } else { + profile.State = nil + } + + // No error + return nil +} + +// OpenShift cluster image registry +type ClusterImageRegistryProfile_STATUS struct { + // State: state indicates the desired ImageStream-backed cluster image registry installation mode. + // This can only be set during cluster creation and cannot be changed after cluster creation. + // Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in + // the cluster. Disabled means the ImageStream-backed image registry will not be present in + // the cluster. The default is Enabled. + State *ClusterImageRegistryProfile_State_STATUS `json:"state,omitempty"` +} + +var _ genruntime.FromARMConverter = &ClusterImageRegistryProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ClusterImageRegistryProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterImageRegistryProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ClusterImageRegistryProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterImageRegistryProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterImageRegistryProfile_STATUS, got %T", armInput) + } + + // Set property "State": + if typedInput.State != nil { + var temp string + temp = string(*typedInput.State) + state := ClusterImageRegistryProfile_State_STATUS(temp) + profile.State = &state + } + + // No error + return nil +} + +// AssignProperties_From_ClusterImageRegistryProfile_STATUS populates our ClusterImageRegistryProfile_STATUS from the provided source ClusterImageRegistryProfile_STATUS +func (profile *ClusterImageRegistryProfile_STATUS) AssignProperties_From_ClusterImageRegistryProfile_STATUS(source *storage.ClusterImageRegistryProfile_STATUS) error { + + // State + if source.State != nil { + state := *source.State + stateTemp := genruntime.ToEnum(state, clusterImageRegistryProfile_State_STATUS_Values) + profile.State = &stateTemp + } else { + profile.State = nil + } + + // No error + return nil +} + +// AssignProperties_To_ClusterImageRegistryProfile_STATUS populates the provided destination ClusterImageRegistryProfile_STATUS from our ClusterImageRegistryProfile_STATUS +func (profile *ClusterImageRegistryProfile_STATUS) AssignProperties_To_ClusterImageRegistryProfile_STATUS(destination *storage.ClusterImageRegistryProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // State + if profile.State != nil { + state := string(*profile.State) + destination.State = &state + } else { + destination.State = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration of the cluster web console +type ConsoleProfile_STATUS struct { + // Url: The cluster web console URL endpoint + Url *string `json:"url,omitempty"` +} + +var _ genruntime.FromARMConverter = &ConsoleProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ConsoleProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ConsoleProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ConsoleProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ConsoleProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ConsoleProfile_STATUS, got %T", armInput) + } + + // Set property "Url": + if typedInput.Url != nil { + url := *typedInput.Url + profile.Url = &url + } + + // No error + return nil +} + +// AssignProperties_From_ConsoleProfile_STATUS populates our ConsoleProfile_STATUS from the provided source ConsoleProfile_STATUS +func (profile *ConsoleProfile_STATUS) AssignProperties_From_ConsoleProfile_STATUS(source *storage.ConsoleProfile_STATUS) error { + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // No error + return nil +} + +// AssignProperties_To_ConsoleProfile_STATUS populates the provided destination ConsoleProfile_STATUS from our ConsoleProfile_STATUS +func (profile *ConsoleProfile_STATUS) AssignProperties_To_ConsoleProfile_STATUS(destination *storage.ConsoleProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Url + destination.Url = genruntime.ClonePointerToString(profile.Url) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// DNS contains the DNS settings of the cluster +type DnsProfile struct { + // +kubebuilder:validation:MaxLength=15 + // +kubebuilder:validation:Pattern="^[a-z]([-a-z0-9]*[a-z0-9])?$" + // BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + // BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` +} + +var _ genruntime.ARMTransformer = &DnsProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *DnsProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.DnsProfile{} + + // Set property "BaseDomainPrefix": + if profile.BaseDomainPrefix != nil { + baseDomainPrefix := *profile.BaseDomainPrefix + result.BaseDomainPrefix = &baseDomainPrefix + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *DnsProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DnsProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *DnsProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DnsProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DnsProfile, got %T", armInput) + } + + // Set property "BaseDomainPrefix": + if typedInput.BaseDomainPrefix != nil { + baseDomainPrefix := *typedInput.BaseDomainPrefix + profile.BaseDomainPrefix = &baseDomainPrefix + } + + // No error + return nil +} + +// AssignProperties_From_DnsProfile populates our DnsProfile from the provided source DnsProfile +func (profile *DnsProfile) AssignProperties_From_DnsProfile(source *storage.DnsProfile) error { + + // BaseDomainPrefix + profile.BaseDomainPrefix = genruntime.ClonePointerToString(source.BaseDomainPrefix) + + // No error + return nil +} + +// AssignProperties_To_DnsProfile populates the provided destination DnsProfile from our DnsProfile +func (profile *DnsProfile) AssignProperties_To_DnsProfile(destination *storage.DnsProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BaseDomainPrefix + destination.BaseDomainPrefix = genruntime.ClonePointerToString(profile.BaseDomainPrefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DnsProfile_STATUS populates our DnsProfile from the provided source DnsProfile_STATUS +func (profile *DnsProfile) Initialize_From_DnsProfile_STATUS(source *DnsProfile_STATUS) error { + + // BaseDomainPrefix + profile.BaseDomainPrefix = genruntime.ClonePointerToString(source.BaseDomainPrefix) + + // No error + return nil +} + +// DNS contains the DNS settings of the cluster +type DnsProfile_STATUS struct { + // BaseDomain: BaseDomain is the base DNS domain of the cluster. + BaseDomain *string `json:"baseDomain,omitempty"` + + // BaseDomainPrefix: BaseDomainPrefix is the unique name of the cluster representing the OpenShift's cluster name. + // BaseDomainPrefix is the name that will appear in the cluster's DNS, provisioned cloud providers resources + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` +} + +var _ genruntime.FromARMConverter = &DnsProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *DnsProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DnsProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *DnsProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DnsProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DnsProfile_STATUS, got %T", armInput) + } + + // Set property "BaseDomain": + if typedInput.BaseDomain != nil { + baseDomain := *typedInput.BaseDomain + profile.BaseDomain = &baseDomain + } + + // Set property "BaseDomainPrefix": + if typedInput.BaseDomainPrefix != nil { + baseDomainPrefix := *typedInput.BaseDomainPrefix + profile.BaseDomainPrefix = &baseDomainPrefix + } + + // No error + return nil +} + +// AssignProperties_From_DnsProfile_STATUS populates our DnsProfile_STATUS from the provided source DnsProfile_STATUS +func (profile *DnsProfile_STATUS) AssignProperties_From_DnsProfile_STATUS(source *storage.DnsProfile_STATUS) error { + + // BaseDomain + profile.BaseDomain = genruntime.ClonePointerToString(source.BaseDomain) + + // BaseDomainPrefix + profile.BaseDomainPrefix = genruntime.ClonePointerToString(source.BaseDomainPrefix) + + // No error + return nil +} + +// AssignProperties_To_DnsProfile_STATUS populates the provided destination DnsProfile_STATUS from our DnsProfile_STATUS +func (profile *DnsProfile_STATUS) AssignProperties_To_DnsProfile_STATUS(destination *storage.DnsProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BaseDomain + destination.BaseDomain = genruntime.ClonePointerToString(profile.BaseDomain) + + // BaseDomainPrefix + destination.BaseDomainPrefix = genruntime.ClonePointerToString(profile.BaseDomainPrefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The ETCD settings and configuration options. +type EtcdProfile struct { + // DataEncryption: ETCD Data Encryption settings. + // If not specified platform managed keys are used. + DataEncryption *EtcdDataEncryptionProfile `json:"dataEncryption,omitempty"` +} + +var _ genruntime.ARMTransformer = &EtcdProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *EtcdProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.EtcdProfile{} + + // Set property "DataEncryption": + if profile.DataEncryption != nil { + dataEncryption_ARM, err := profile.DataEncryption.ConvertToARM(resolved) + if err != nil { + return nil, err + } + dataEncryption := *dataEncryption_ARM.(*arm.EtcdDataEncryptionProfile) + result.DataEncryption = &dataEncryption + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *EtcdProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EtcdProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *EtcdProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EtcdProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EtcdProfile, got %T", armInput) + } + + // Set property "DataEncryption": + if typedInput.DataEncryption != nil { + var dataEncryption1 EtcdDataEncryptionProfile + err := dataEncryption1.PopulateFromARM(owner, *typedInput.DataEncryption) + if err != nil { + return err + } + dataEncryption := dataEncryption1 + profile.DataEncryption = &dataEncryption + } + + // No error + return nil +} + +// AssignProperties_From_EtcdProfile populates our EtcdProfile from the provided source EtcdProfile +func (profile *EtcdProfile) AssignProperties_From_EtcdProfile(source *storage.EtcdProfile) error { + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption EtcdDataEncryptionProfile + err := dataEncryption.AssignProperties_From_EtcdDataEncryptionProfile(source.DataEncryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EtcdDataEncryptionProfile() to populate field DataEncryption") + } + profile.DataEncryption = &dataEncryption + } else { + profile.DataEncryption = nil + } + + // No error + return nil +} + +// AssignProperties_To_EtcdProfile populates the provided destination EtcdProfile from our EtcdProfile +func (profile *EtcdProfile) AssignProperties_To_EtcdProfile(destination *storage.EtcdProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DataEncryption + if profile.DataEncryption != nil { + var dataEncryption storage.EtcdDataEncryptionProfile + err := profile.DataEncryption.AssignProperties_To_EtcdDataEncryptionProfile(&dataEncryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EtcdDataEncryptionProfile() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_EtcdProfile_STATUS populates our EtcdProfile from the provided source EtcdProfile_STATUS +func (profile *EtcdProfile) Initialize_From_EtcdProfile_STATUS(source *EtcdProfile_STATUS) error { + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption EtcdDataEncryptionProfile + err := dataEncryption.Initialize_From_EtcdDataEncryptionProfile_STATUS(source.DataEncryption) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_EtcdDataEncryptionProfile_STATUS() to populate field DataEncryption") + } + profile.DataEncryption = &dataEncryption + } else { + profile.DataEncryption = nil + } + + // No error + return nil +} + +// The ETCD settings and configuration options. +type EtcdProfile_STATUS struct { + // DataEncryption: ETCD Data Encryption settings. + // If not specified platform managed keys are used. + DataEncryption *EtcdDataEncryptionProfile_STATUS `json:"dataEncryption,omitempty"` +} + +var _ genruntime.FromARMConverter = &EtcdProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *EtcdProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EtcdProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *EtcdProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EtcdProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EtcdProfile_STATUS, got %T", armInput) + } + + // Set property "DataEncryption": + if typedInput.DataEncryption != nil { + var dataEncryption1 EtcdDataEncryptionProfile_STATUS + err := dataEncryption1.PopulateFromARM(owner, *typedInput.DataEncryption) + if err != nil { + return err + } + dataEncryption := dataEncryption1 + profile.DataEncryption = &dataEncryption + } + + // No error + return nil +} + +// AssignProperties_From_EtcdProfile_STATUS populates our EtcdProfile_STATUS from the provided source EtcdProfile_STATUS +func (profile *EtcdProfile_STATUS) AssignProperties_From_EtcdProfile_STATUS(source *storage.EtcdProfile_STATUS) error { + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption EtcdDataEncryptionProfile_STATUS + err := dataEncryption.AssignProperties_From_EtcdDataEncryptionProfile_STATUS(source.DataEncryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EtcdDataEncryptionProfile_STATUS() to populate field DataEncryption") + } + profile.DataEncryption = &dataEncryption + } else { + profile.DataEncryption = nil + } + + // No error + return nil +} + +// AssignProperties_To_EtcdProfile_STATUS populates the provided destination EtcdProfile_STATUS from our EtcdProfile_STATUS +func (profile *EtcdProfile_STATUS) AssignProperties_To_EtcdProfile_STATUS(destination *storage.EtcdProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DataEncryption + if profile.DataEncryption != nil { + var dataEncryption storage.EtcdDataEncryptionProfile_STATUS + err := profile.DataEncryption.AssignProperties_To_EtcdDataEncryptionProfile_STATUS(&dataEncryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EtcdDataEncryptionProfile_STATUS() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type HcpOpenShiftClusterOperatorSecrets struct { + // AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + // retrieved from Azure. + AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` +} + +// AssignProperties_From_HcpOpenShiftClusterOperatorSecrets populates our HcpOpenShiftClusterOperatorSecrets from the provided source HcpOpenShiftClusterOperatorSecrets +func (secrets *HcpOpenShiftClusterOperatorSecrets) AssignProperties_From_HcpOpenShiftClusterOperatorSecrets(source *storage.HcpOpenShiftClusterOperatorSecrets) error { + + // AdminCredentials + if source.AdminCredentials != nil { + adminCredential := source.AdminCredentials.Copy() + secrets.AdminCredentials = &adminCredential + } else { + secrets.AdminCredentials = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClusterOperatorSecrets populates the provided destination HcpOpenShiftClusterOperatorSecrets from our HcpOpenShiftClusterOperatorSecrets +func (secrets *HcpOpenShiftClusterOperatorSecrets) AssignProperties_To_HcpOpenShiftClusterOperatorSecrets(destination *storage.HcpOpenShiftClusterOperatorSecrets) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminCredentials + if secrets.AdminCredentials != nil { + adminCredential := secrets.AdminCredentials.Copy() + destination.AdminCredentials = &adminCredential + } else { + destination.AdminCredentials = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +// +kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned,UserAssigned","UserAssigned"} +type ManagedServiceIdentityType string + +const ( + ManagedServiceIdentityType_None = ManagedServiceIdentityType("None") + ManagedServiceIdentityType_SystemAssigned = ManagedServiceIdentityType("SystemAssigned") + ManagedServiceIdentityType_SystemAssignedUserAssigned = ManagedServiceIdentityType("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_UserAssigned = ManagedServiceIdentityType("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType +var managedServiceIdentityType_Values = map[string]ManagedServiceIdentityType{ + "none": ManagedServiceIdentityType_None, + "systemassigned": ManagedServiceIdentityType_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_UserAssigned, +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +type ManagedServiceIdentityType_STATUS string + +const ( + ManagedServiceIdentityType_STATUS_None = ManagedServiceIdentityType_STATUS("None") + ManagedServiceIdentityType_STATUS_SystemAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned") + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_STATUS_UserAssigned = ManagedServiceIdentityType_STATUS("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType_STATUS +var managedServiceIdentityType_STATUS_Values = map[string]ManagedServiceIdentityType_STATUS{ + "none": ManagedServiceIdentityType_STATUS_None, + "systemassigned": ManagedServiceIdentityType_STATUS_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_STATUS_UserAssigned, +} + +// OpenShift networking configuration +type NetworkProfile struct { + // HostPrefix: Network host prefix + HostPrefix *int `json:"hostPrefix,omitempty"` + + // MachineCidr: The CIDR block from which to assign machine IP addresses + MachineCidr *string `json:"machineCidr,omitempty"` + + // NetworkType: The main controller responsible for rendering the core networking components + NetworkType *NetworkProfile_NetworkType `json:"networkType,omitempty"` + + // PodCidr: The CIDR of the pod IP addresses + PodCidr *string `json:"podCidr,omitempty"` + + // ServiceCidr: The CIDR block for assigned service IPs + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +var _ genruntime.ARMTransformer = &NetworkProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *NetworkProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.NetworkProfile{} + + // Set property "HostPrefix": + if profile.HostPrefix != nil { + hostPrefix := *profile.HostPrefix + result.HostPrefix = &hostPrefix + } + + // Set property "MachineCidr": + if profile.MachineCidr != nil { + machineCidr := *profile.MachineCidr + result.MachineCidr = &machineCidr + } + + // Set property "NetworkType": + if profile.NetworkType != nil { + var temp string + temp = string(*profile.NetworkType) + networkType := arm.NetworkProfile_NetworkType(temp) + result.NetworkType = &networkType + } + + // Set property "PodCidr": + if profile.PodCidr != nil { + podCidr := *profile.PodCidr + result.PodCidr = &podCidr + } + + // Set property "ServiceCidr": + if profile.ServiceCidr != nil { + serviceCidr := *profile.ServiceCidr + result.ServiceCidr = &serviceCidr + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NetworkProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NetworkProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NetworkProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NetworkProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NetworkProfile, got %T", armInput) + } + + // Set property "HostPrefix": + if typedInput.HostPrefix != nil { + hostPrefix := *typedInput.HostPrefix + profile.HostPrefix = &hostPrefix + } + + // Set property "MachineCidr": + if typedInput.MachineCidr != nil { + machineCidr := *typedInput.MachineCidr + profile.MachineCidr = &machineCidr + } + + // Set property "NetworkType": + if typedInput.NetworkType != nil { + var temp string + temp = string(*typedInput.NetworkType) + networkType := NetworkProfile_NetworkType(temp) + profile.NetworkType = &networkType + } + + // Set property "PodCidr": + if typedInput.PodCidr != nil { + podCidr := *typedInput.PodCidr + profile.PodCidr = &podCidr + } + + // Set property "ServiceCidr": + if typedInput.ServiceCidr != nil { + serviceCidr := *typedInput.ServiceCidr + profile.ServiceCidr = &serviceCidr + } + + // No error + return nil +} + +// AssignProperties_From_NetworkProfile populates our NetworkProfile from the provided source NetworkProfile +func (profile *NetworkProfile) AssignProperties_From_NetworkProfile(source *storage.NetworkProfile) error { + + // HostPrefix + profile.HostPrefix = genruntime.ClonePointerToInt(source.HostPrefix) + + // MachineCidr + profile.MachineCidr = genruntime.ClonePointerToString(source.MachineCidr) + + // NetworkType + if source.NetworkType != nil { + networkType := *source.NetworkType + networkTypeTemp := genruntime.ToEnum(networkType, networkProfile_NetworkType_Values) + profile.NetworkType = &networkTypeTemp + } else { + profile.NetworkType = nil + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // No error + return nil +} + +// AssignProperties_To_NetworkProfile populates the provided destination NetworkProfile from our NetworkProfile +func (profile *NetworkProfile) AssignProperties_To_NetworkProfile(destination *storage.NetworkProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // HostPrefix + destination.HostPrefix = genruntime.ClonePointerToInt(profile.HostPrefix) + + // MachineCidr + destination.MachineCidr = genruntime.ClonePointerToString(profile.MachineCidr) + + // NetworkType + if profile.NetworkType != nil { + networkType := string(*profile.NetworkType) + destination.NetworkType = &networkType + } else { + destination.NetworkType = nil + } + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_NetworkProfile_STATUS populates our NetworkProfile from the provided source NetworkProfile_STATUS +func (profile *NetworkProfile) Initialize_From_NetworkProfile_STATUS(source *NetworkProfile_STATUS) error { + + // HostPrefix + profile.HostPrefix = genruntime.ClonePointerToInt(source.HostPrefix) + + // MachineCidr + profile.MachineCidr = genruntime.ClonePointerToString(source.MachineCidr) + + // NetworkType + if source.NetworkType != nil { + networkType := genruntime.ToEnum(string(*source.NetworkType), networkProfile_NetworkType_Values) + profile.NetworkType = &networkType + } else { + profile.NetworkType = nil + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // No error + return nil +} + +// OpenShift networking configuration +type NetworkProfile_STATUS struct { + // HostPrefix: Network host prefix + HostPrefix *int `json:"hostPrefix,omitempty"` + + // MachineCidr: The CIDR block from which to assign machine IP addresses + MachineCidr *string `json:"machineCidr,omitempty"` + + // NetworkType: The main controller responsible for rendering the core networking components + NetworkType *NetworkProfile_NetworkType_STATUS `json:"networkType,omitempty"` + + // PodCidr: The CIDR of the pod IP addresses + PodCidr *string `json:"podCidr,omitempty"` + + // ServiceCidr: The CIDR block for assigned service IPs + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +var _ genruntime.FromARMConverter = &NetworkProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NetworkProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NetworkProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NetworkProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NetworkProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NetworkProfile_STATUS, got %T", armInput) + } + + // Set property "HostPrefix": + if typedInput.HostPrefix != nil { + hostPrefix := *typedInput.HostPrefix + profile.HostPrefix = &hostPrefix + } + + // Set property "MachineCidr": + if typedInput.MachineCidr != nil { + machineCidr := *typedInput.MachineCidr + profile.MachineCidr = &machineCidr + } + + // Set property "NetworkType": + if typedInput.NetworkType != nil { + var temp string + temp = string(*typedInput.NetworkType) + networkType := NetworkProfile_NetworkType_STATUS(temp) + profile.NetworkType = &networkType + } + + // Set property "PodCidr": + if typedInput.PodCidr != nil { + podCidr := *typedInput.PodCidr + profile.PodCidr = &podCidr + } + + // Set property "ServiceCidr": + if typedInput.ServiceCidr != nil { + serviceCidr := *typedInput.ServiceCidr + profile.ServiceCidr = &serviceCidr + } + + // No error + return nil +} + +// AssignProperties_From_NetworkProfile_STATUS populates our NetworkProfile_STATUS from the provided source NetworkProfile_STATUS +func (profile *NetworkProfile_STATUS) AssignProperties_From_NetworkProfile_STATUS(source *storage.NetworkProfile_STATUS) error { + + // HostPrefix + profile.HostPrefix = genruntime.ClonePointerToInt(source.HostPrefix) + + // MachineCidr + profile.MachineCidr = genruntime.ClonePointerToString(source.MachineCidr) + + // NetworkType + if source.NetworkType != nil { + networkType := *source.NetworkType + networkTypeTemp := genruntime.ToEnum(networkType, networkProfile_NetworkType_STATUS_Values) + profile.NetworkType = &networkTypeTemp + } else { + profile.NetworkType = nil + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // No error + return nil +} + +// AssignProperties_To_NetworkProfile_STATUS populates the provided destination NetworkProfile_STATUS from our NetworkProfile_STATUS +func (profile *NetworkProfile_STATUS) AssignProperties_To_NetworkProfile_STATUS(destination *storage.NetworkProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // HostPrefix + destination.HostPrefix = genruntime.ClonePointerToInt(profile.HostPrefix) + + // MachineCidr + destination.MachineCidr = genruntime.ClonePointerToString(profile.MachineCidr) + + // NetworkType + if profile.NetworkType != nil { + networkType := string(*profile.NetworkType) + destination.NetworkType = &networkType + } else { + destination.NetworkType = nil + } + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Azure specific configuration +type PlatformProfile struct { + // ManagedResourceGroup: Resource group to put cluster resources + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + + // +kubebuilder:validation:Required + // NetworkSecurityGroupReference: ResourceId for the NSG (network security group) attached to the cluster subnet + // Note that NSGs cannot be reused for other ARO-HCP clusters. + NetworkSecurityGroupReference *genruntime.ResourceReference `armReference:"NetworkSecurityGroupId" json:"networkSecurityGroupReference,omitempty"` + + // +kubebuilder:validation:Required + // OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure + OperatorsAuthentication *OperatorsAuthenticationProfile `json:"operatorsAuthentication,omitempty"` + + // OutboundType: The core outgoing configuration + OutboundType *PlatformProfile_OutboundType `json:"outboundType,omitempty"` + + // +kubebuilder:validation:Required + // SubnetReference: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters. + SubnetReference *genruntime.ResourceReference `armReference:"SubnetId" json:"subnetReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &PlatformProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *PlatformProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.PlatformProfile{} + + // Set property "ManagedResourceGroup": + if profile.ManagedResourceGroup != nil { + managedResourceGroup := *profile.ManagedResourceGroup + result.ManagedResourceGroup = &managedResourceGroup + } + + // Set property "NetworkSecurityGroupId": + if profile.NetworkSecurityGroupReference != nil { + networkSecurityGroupReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.NetworkSecurityGroupReference) + if err != nil { + return nil, err + } + networkSecurityGroupReference := networkSecurityGroupReferenceARMID + result.NetworkSecurityGroupId = &networkSecurityGroupReference + } + + // Set property "OperatorsAuthentication": + if profile.OperatorsAuthentication != nil { + operatorsAuthentication_ARM, err := profile.OperatorsAuthentication.ConvertToARM(resolved) + if err != nil { + return nil, err + } + operatorsAuthentication := *operatorsAuthentication_ARM.(*arm.OperatorsAuthenticationProfile) + result.OperatorsAuthentication = &operatorsAuthentication + } + + // Set property "OutboundType": + if profile.OutboundType != nil { + var temp string + temp = string(*profile.OutboundType) + outboundType := arm.PlatformProfile_OutboundType(temp) + result.OutboundType = &outboundType + } + + // Set property "SubnetId": + if profile.SubnetReference != nil { + subnetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.SubnetReference) + if err != nil { + return nil, err + } + subnetReference := subnetReferenceARMID + result.SubnetId = &subnetReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *PlatformProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PlatformProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *PlatformProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PlatformProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PlatformProfile, got %T", armInput) + } + + // Set property "ManagedResourceGroup": + if typedInput.ManagedResourceGroup != nil { + managedResourceGroup := *typedInput.ManagedResourceGroup + profile.ManagedResourceGroup = &managedResourceGroup + } + + // no assignment for property "NetworkSecurityGroupReference" + + // Set property "OperatorsAuthentication": + if typedInput.OperatorsAuthentication != nil { + var operatorsAuthentication1 OperatorsAuthenticationProfile + err := operatorsAuthentication1.PopulateFromARM(owner, *typedInput.OperatorsAuthentication) + if err != nil { + return err + } + operatorsAuthentication := operatorsAuthentication1 + profile.OperatorsAuthentication = &operatorsAuthentication + } + + // Set property "OutboundType": + if typedInput.OutboundType != nil { + var temp string + temp = string(*typedInput.OutboundType) + outboundType := PlatformProfile_OutboundType(temp) + profile.OutboundType = &outboundType + } + + // no assignment for property "SubnetReference" + + // No error + return nil +} + +// AssignProperties_From_PlatformProfile populates our PlatformProfile from the provided source PlatformProfile +func (profile *PlatformProfile) AssignProperties_From_PlatformProfile(source *storage.PlatformProfile) error { + + // ManagedResourceGroup + profile.ManagedResourceGroup = genruntime.ClonePointerToString(source.ManagedResourceGroup) + + // NetworkSecurityGroupReference + if source.NetworkSecurityGroupReference != nil { + networkSecurityGroupReference := source.NetworkSecurityGroupReference.Copy() + profile.NetworkSecurityGroupReference = &networkSecurityGroupReference + } else { + profile.NetworkSecurityGroupReference = nil + } + + // OperatorsAuthentication + if source.OperatorsAuthentication != nil { + var operatorsAuthentication OperatorsAuthenticationProfile + err := operatorsAuthentication.AssignProperties_From_OperatorsAuthenticationProfile(source.OperatorsAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OperatorsAuthenticationProfile() to populate field OperatorsAuthentication") + } + profile.OperatorsAuthentication = &operatorsAuthentication + } else { + profile.OperatorsAuthentication = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := *source.OutboundType + outboundTypeTemp := genruntime.ToEnum(outboundType, platformProfile_OutboundType_Values) + profile.OutboundType = &outboundTypeTemp + } else { + profile.OutboundType = nil + } + + // SubnetReference + if source.SubnetReference != nil { + subnetReference := source.SubnetReference.Copy() + profile.SubnetReference = &subnetReference + } else { + profile.SubnetReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_PlatformProfile populates the provided destination PlatformProfile from our PlatformProfile +func (profile *PlatformProfile) AssignProperties_To_PlatformProfile(destination *storage.PlatformProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ManagedResourceGroup + destination.ManagedResourceGroup = genruntime.ClonePointerToString(profile.ManagedResourceGroup) + + // NetworkSecurityGroupReference + if profile.NetworkSecurityGroupReference != nil { + networkSecurityGroupReference := profile.NetworkSecurityGroupReference.Copy() + destination.NetworkSecurityGroupReference = &networkSecurityGroupReference + } else { + destination.NetworkSecurityGroupReference = nil + } + + // OperatorsAuthentication + if profile.OperatorsAuthentication != nil { + var operatorsAuthentication storage.OperatorsAuthenticationProfile + err := profile.OperatorsAuthentication.AssignProperties_To_OperatorsAuthenticationProfile(&operatorsAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OperatorsAuthenticationProfile() to populate field OperatorsAuthentication") + } + destination.OperatorsAuthentication = &operatorsAuthentication + } else { + destination.OperatorsAuthentication = nil + } + + // OutboundType + if profile.OutboundType != nil { + outboundType := string(*profile.OutboundType) + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // SubnetReference + if profile.SubnetReference != nil { + subnetReference := profile.SubnetReference.Copy() + destination.SubnetReference = &subnetReference + } else { + destination.SubnetReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_PlatformProfile_STATUS populates our PlatformProfile from the provided source PlatformProfile_STATUS +func (profile *PlatformProfile) Initialize_From_PlatformProfile_STATUS(source *PlatformProfile_STATUS) error { + + // ManagedResourceGroup + profile.ManagedResourceGroup = genruntime.ClonePointerToString(source.ManagedResourceGroup) + + // NetworkSecurityGroupReference + if source.NetworkSecurityGroupId != nil { + networkSecurityGroupReference := genruntime.CreateResourceReferenceFromARMID(*source.NetworkSecurityGroupId) + profile.NetworkSecurityGroupReference = &networkSecurityGroupReference + } else { + profile.NetworkSecurityGroupReference = nil + } + + // OperatorsAuthentication + if source.OperatorsAuthentication != nil { + var operatorsAuthentication OperatorsAuthenticationProfile + err := operatorsAuthentication.Initialize_From_OperatorsAuthenticationProfile_STATUS(source.OperatorsAuthentication) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OperatorsAuthenticationProfile_STATUS() to populate field OperatorsAuthentication") + } + profile.OperatorsAuthentication = &operatorsAuthentication + } else { + profile.OperatorsAuthentication = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := genruntime.ToEnum(string(*source.OutboundType), platformProfile_OutboundType_Values) + profile.OutboundType = &outboundType + } else { + profile.OutboundType = nil + } + + // SubnetReference + if source.SubnetId != nil { + subnetReference := genruntime.CreateResourceReferenceFromARMID(*source.SubnetId) + profile.SubnetReference = &subnetReference + } else { + profile.SubnetReference = nil + } + + // No error + return nil +} + +// Azure specific configuration +type PlatformProfile_STATUS struct { + // IssuerUrl: URL for the OIDC provider to be used for authentication + // to authenticate against user Azure cloud account + IssuerUrl *string `json:"issuerUrl,omitempty"` + + // ManagedResourceGroup: Resource group to put cluster resources + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + + // NetworkSecurityGroupId: ResourceId for the NSG (network security group) attached to the cluster subnet + // Note that NSGs cannot be reused for other ARO-HCP clusters. + NetworkSecurityGroupId *string `json:"networkSecurityGroupId,omitempty"` + + // OperatorsAuthentication: The configuration that the operators of the cluster have to authenticate to Azure + OperatorsAuthentication *OperatorsAuthenticationProfile_STATUS `json:"operatorsAuthentication,omitempty"` + + // OutboundType: The core outgoing configuration + OutboundType *PlatformProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters. + SubnetId *string `json:"subnetId,omitempty"` +} + +var _ genruntime.FromARMConverter = &PlatformProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *PlatformProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PlatformProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *PlatformProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PlatformProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PlatformProfile_STATUS, got %T", armInput) + } + + // Set property "IssuerUrl": + if typedInput.IssuerUrl != nil { + issuerUrl := *typedInput.IssuerUrl + profile.IssuerUrl = &issuerUrl + } + + // Set property "ManagedResourceGroup": + if typedInput.ManagedResourceGroup != nil { + managedResourceGroup := *typedInput.ManagedResourceGroup + profile.ManagedResourceGroup = &managedResourceGroup + } + + // Set property "NetworkSecurityGroupId": + if typedInput.NetworkSecurityGroupId != nil { + networkSecurityGroupId := *typedInput.NetworkSecurityGroupId + profile.NetworkSecurityGroupId = &networkSecurityGroupId + } + + // Set property "OperatorsAuthentication": + if typedInput.OperatorsAuthentication != nil { + var operatorsAuthentication1 OperatorsAuthenticationProfile_STATUS + err := operatorsAuthentication1.PopulateFromARM(owner, *typedInput.OperatorsAuthentication) + if err != nil { + return err + } + operatorsAuthentication := operatorsAuthentication1 + profile.OperatorsAuthentication = &operatorsAuthentication + } + + // Set property "OutboundType": + if typedInput.OutboundType != nil { + var temp string + temp = string(*typedInput.OutboundType) + outboundType := PlatformProfile_OutboundType_STATUS(temp) + profile.OutboundType = &outboundType + } + + // Set property "SubnetId": + if typedInput.SubnetId != nil { + subnetId := *typedInput.SubnetId + profile.SubnetId = &subnetId + } + + // No error + return nil +} + +// AssignProperties_From_PlatformProfile_STATUS populates our PlatformProfile_STATUS from the provided source PlatformProfile_STATUS +func (profile *PlatformProfile_STATUS) AssignProperties_From_PlatformProfile_STATUS(source *storage.PlatformProfile_STATUS) error { + + // IssuerUrl + profile.IssuerUrl = genruntime.ClonePointerToString(source.IssuerUrl) + + // ManagedResourceGroup + profile.ManagedResourceGroup = genruntime.ClonePointerToString(source.ManagedResourceGroup) + + // NetworkSecurityGroupId + profile.NetworkSecurityGroupId = genruntime.ClonePointerToString(source.NetworkSecurityGroupId) + + // OperatorsAuthentication + if source.OperatorsAuthentication != nil { + var operatorsAuthentication OperatorsAuthenticationProfile_STATUS + err := operatorsAuthentication.AssignProperties_From_OperatorsAuthenticationProfile_STATUS(source.OperatorsAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OperatorsAuthenticationProfile_STATUS() to populate field OperatorsAuthentication") + } + profile.OperatorsAuthentication = &operatorsAuthentication + } else { + profile.OperatorsAuthentication = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := *source.OutboundType + outboundTypeTemp := genruntime.ToEnum(outboundType, platformProfile_OutboundType_STATUS_Values) + profile.OutboundType = &outboundTypeTemp + } else { + profile.OutboundType = nil + } + + // SubnetId + profile.SubnetId = genruntime.ClonePointerToString(source.SubnetId) + + // No error + return nil +} + +// AssignProperties_To_PlatformProfile_STATUS populates the provided destination PlatformProfile_STATUS from our PlatformProfile_STATUS +func (profile *PlatformProfile_STATUS) AssignProperties_To_PlatformProfile_STATUS(destination *storage.PlatformProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IssuerUrl + destination.IssuerUrl = genruntime.ClonePointerToString(profile.IssuerUrl) + + // ManagedResourceGroup + destination.ManagedResourceGroup = genruntime.ClonePointerToString(profile.ManagedResourceGroup) + + // NetworkSecurityGroupId + destination.NetworkSecurityGroupId = genruntime.ClonePointerToString(profile.NetworkSecurityGroupId) + + // OperatorsAuthentication + if profile.OperatorsAuthentication != nil { + var operatorsAuthentication storage.OperatorsAuthenticationProfile_STATUS + err := profile.OperatorsAuthentication.AssignProperties_To_OperatorsAuthenticationProfile_STATUS(&operatorsAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OperatorsAuthenticationProfile_STATUS() to populate field OperatorsAuthentication") + } + destination.OperatorsAuthentication = &operatorsAuthentication + } else { + destination.OperatorsAuthentication = nil + } + + // OutboundType + if profile.OutboundType != nil { + outboundType := string(*profile.OutboundType) + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // SubnetId + destination.SubnetId = genruntime.ClonePointerToString(profile.SubnetId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The resource provisioning state. +type ProvisioningState_STATUS string + +const ( + ProvisioningState_STATUS_Accepted = ProvisioningState_STATUS("Accepted") + ProvisioningState_STATUS_Canceled = ProvisioningState_STATUS("Canceled") + ProvisioningState_STATUS_Deleting = ProvisioningState_STATUS("Deleting") + ProvisioningState_STATUS_Failed = ProvisioningState_STATUS("Failed") + ProvisioningState_STATUS_Provisioning = ProvisioningState_STATUS("Provisioning") + ProvisioningState_STATUS_Succeeded = ProvisioningState_STATUS("Succeeded") + ProvisioningState_STATUS_Updating = ProvisioningState_STATUS("Updating") +) + +// Mapping from string to ProvisioningState_STATUS +var provisioningState_STATUS_Values = map[string]ProvisioningState_STATUS{ + "accepted": ProvisioningState_STATUS_Accepted, + "canceled": ProvisioningState_STATUS_Canceled, + "deleting": ProvisioningState_STATUS_Deleting, + "failed": ProvisioningState_STATUS_Failed, + "provisioning": ProvisioningState_STATUS_Provisioning, + "succeeded": ProvisioningState_STATUS_Succeeded, + "updating": ProvisioningState_STATUS_Updating, +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} + +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal ID of the assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +var _ genruntime.FromARMConverter = &UserAssignedIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *UserAssignedIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *UserAssignedIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UserAssignedIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentity_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + identity.ClientId = &clientId + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identity.PrincipalId = &principalId + } + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *storage.UserAssignedIdentityDetails) error { + + // Reference + details.Reference = source.Reference.Copy() + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *storage.UserAssignedIdentityDetails) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Reference + destination.Reference = details.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Versions represents an OpenShift version. +type VersionProfile struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +var _ genruntime.ARMTransformer = &VersionProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *VersionProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.VersionProfile{} + + // Set property "ChannelGroup": + if profile.ChannelGroup != nil { + channelGroup := *profile.ChannelGroup + result.ChannelGroup = &channelGroup + } + + // Set property "Id": + if profile.Id != nil { + id := *profile.Id + result.Id = &id + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *VersionProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VersionProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *VersionProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VersionProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VersionProfile, got %T", armInput) + } + + // Set property "ChannelGroup": + if typedInput.ChannelGroup != nil { + channelGroup := *typedInput.ChannelGroup + profile.ChannelGroup = &channelGroup + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + profile.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_VersionProfile populates our VersionProfile from the provided source VersionProfile +func (profile *VersionProfile) AssignProperties_From_VersionProfile(source *storage.VersionProfile) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_VersionProfile populates the provided destination VersionProfile from our VersionProfile +func (profile *VersionProfile) AssignProperties_To_VersionProfile(destination *storage.VersionProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ChannelGroup + destination.ChannelGroup = genruntime.ClonePointerToString(profile.ChannelGroup) + + // Id + destination.Id = genruntime.ClonePointerToString(profile.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_VersionProfile_STATUS populates our VersionProfile from the provided source VersionProfile_STATUS +func (profile *VersionProfile) Initialize_From_VersionProfile_STATUS(source *VersionProfile_STATUS) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// Versions represents an OpenShift version. +type VersionProfile_STATUS struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +var _ genruntime.FromARMConverter = &VersionProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *VersionProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VersionProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *VersionProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VersionProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VersionProfile_STATUS, got %T", armInput) + } + + // Set property "ChannelGroup": + if typedInput.ChannelGroup != nil { + channelGroup := *typedInput.ChannelGroup + profile.ChannelGroup = &channelGroup + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + profile.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_VersionProfile_STATUS populates our VersionProfile_STATUS from the provided source VersionProfile_STATUS +func (profile *VersionProfile_STATUS) AssignProperties_From_VersionProfile_STATUS(source *storage.VersionProfile_STATUS) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_VersionProfile_STATUS populates the provided destination VersionProfile_STATUS from our VersionProfile_STATUS +func (profile *VersionProfile_STATUS) AssignProperties_To_VersionProfile_STATUS(destination *storage.VersionProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ChannelGroup + destination.ChannelGroup = genruntime.ClonePointerToString(profile.ChannelGroup) + + // Id + destination.Id = genruntime.ClonePointerToString(profile.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Private","Public"} +type ApiProfile_Visibility string + +const ( + ApiProfile_Visibility_Private = ApiProfile_Visibility("Private") + ApiProfile_Visibility_Public = ApiProfile_Visibility("Public") +) + +// Mapping from string to ApiProfile_Visibility +var apiProfile_Visibility_Values = map[string]ApiProfile_Visibility{ + "private": ApiProfile_Visibility_Private, + "public": ApiProfile_Visibility_Public, +} + +type ApiProfile_Visibility_STATUS string + +const ( + ApiProfile_Visibility_STATUS_Private = ApiProfile_Visibility_STATUS("Private") + ApiProfile_Visibility_STATUS_Public = ApiProfile_Visibility_STATUS("Public") +) + +// Mapping from string to ApiProfile_Visibility_STATUS +var apiProfile_Visibility_STATUS_Values = map[string]ApiProfile_Visibility_STATUS{ + "private": ApiProfile_Visibility_STATUS_Private, + "public": ApiProfile_Visibility_STATUS_Public, +} + +// +kubebuilder:validation:Enum={"Disabled","Enabled"} +type ClusterImageRegistryProfile_State string + +const ( + ClusterImageRegistryProfile_State_Disabled = ClusterImageRegistryProfile_State("Disabled") + ClusterImageRegistryProfile_State_Enabled = ClusterImageRegistryProfile_State("Enabled") +) + +// Mapping from string to ClusterImageRegistryProfile_State +var clusterImageRegistryProfile_State_Values = map[string]ClusterImageRegistryProfile_State{ + "disabled": ClusterImageRegistryProfile_State_Disabled, + "enabled": ClusterImageRegistryProfile_State_Enabled, +} + +type ClusterImageRegistryProfile_State_STATUS string + +const ( + ClusterImageRegistryProfile_State_STATUS_Disabled = ClusterImageRegistryProfile_State_STATUS("Disabled") + ClusterImageRegistryProfile_State_STATUS_Enabled = ClusterImageRegistryProfile_State_STATUS("Enabled") +) + +// Mapping from string to ClusterImageRegistryProfile_State_STATUS +var clusterImageRegistryProfile_State_STATUS_Values = map[string]ClusterImageRegistryProfile_State_STATUS{ + "disabled": ClusterImageRegistryProfile_State_STATUS_Disabled, + "enabled": ClusterImageRegistryProfile_State_STATUS_Enabled, +} + +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile struct { + // CustomerManaged: Specify customer managed encryption key details. + // Required when keyManagementMode is "CustomerManaged". + CustomerManaged *CustomerManagedEncryptionProfile `json:"customerManaged,omitempty"` + + // KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + // By default, "PlatformManaged" is used. + KeyManagementMode *EtcdDataEncryptionProfile_KeyManagementMode `json:"keyManagementMode,omitempty"` +} + +var _ genruntime.ARMTransformer = &EtcdDataEncryptionProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *EtcdDataEncryptionProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.EtcdDataEncryptionProfile{} + + // Set property "CustomerManaged": + if profile.CustomerManaged != nil { + customerManaged_ARM, err := profile.CustomerManaged.ConvertToARM(resolved) + if err != nil { + return nil, err + } + customerManaged := *customerManaged_ARM.(*arm.CustomerManagedEncryptionProfile) + result.CustomerManaged = &customerManaged + } + + // Set property "KeyManagementMode": + if profile.KeyManagementMode != nil { + var temp string + temp = string(*profile.KeyManagementMode) + keyManagementMode := arm.EtcdDataEncryptionProfile_KeyManagementMode(temp) + result.KeyManagementMode = &keyManagementMode + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *EtcdDataEncryptionProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EtcdDataEncryptionProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *EtcdDataEncryptionProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EtcdDataEncryptionProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EtcdDataEncryptionProfile, got %T", armInput) + } + + // Set property "CustomerManaged": + if typedInput.CustomerManaged != nil { + var customerManaged1 CustomerManagedEncryptionProfile + err := customerManaged1.PopulateFromARM(owner, *typedInput.CustomerManaged) + if err != nil { + return err + } + customerManaged := customerManaged1 + profile.CustomerManaged = &customerManaged + } + + // Set property "KeyManagementMode": + if typedInput.KeyManagementMode != nil { + var temp string + temp = string(*typedInput.KeyManagementMode) + keyManagementMode := EtcdDataEncryptionProfile_KeyManagementMode(temp) + profile.KeyManagementMode = &keyManagementMode + } + + // No error + return nil +} + +// AssignProperties_From_EtcdDataEncryptionProfile populates our EtcdDataEncryptionProfile from the provided source EtcdDataEncryptionProfile +func (profile *EtcdDataEncryptionProfile) AssignProperties_From_EtcdDataEncryptionProfile(source *storage.EtcdDataEncryptionProfile) error { + + // CustomerManaged + if source.CustomerManaged != nil { + var customerManaged CustomerManagedEncryptionProfile + err := customerManaged.AssignProperties_From_CustomerManagedEncryptionProfile(source.CustomerManaged) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomerManagedEncryptionProfile() to populate field CustomerManaged") + } + profile.CustomerManaged = &customerManaged + } else { + profile.CustomerManaged = nil + } + + // KeyManagementMode + if source.KeyManagementMode != nil { + keyManagementMode := *source.KeyManagementMode + keyManagementModeTemp := genruntime.ToEnum(keyManagementMode, etcdDataEncryptionProfile_KeyManagementMode_Values) + profile.KeyManagementMode = &keyManagementModeTemp + } else { + profile.KeyManagementMode = nil + } + + // No error + return nil +} + +// AssignProperties_To_EtcdDataEncryptionProfile populates the provided destination EtcdDataEncryptionProfile from our EtcdDataEncryptionProfile +func (profile *EtcdDataEncryptionProfile) AssignProperties_To_EtcdDataEncryptionProfile(destination *storage.EtcdDataEncryptionProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomerManaged + if profile.CustomerManaged != nil { + var customerManaged storage.CustomerManagedEncryptionProfile + err := profile.CustomerManaged.AssignProperties_To_CustomerManagedEncryptionProfile(&customerManaged) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomerManagedEncryptionProfile() to populate field CustomerManaged") + } + destination.CustomerManaged = &customerManaged + } else { + destination.CustomerManaged = nil + } + + // KeyManagementMode + if profile.KeyManagementMode != nil { + keyManagementMode := string(*profile.KeyManagementMode) + destination.KeyManagementMode = &keyManagementMode + } else { + destination.KeyManagementMode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_EtcdDataEncryptionProfile_STATUS populates our EtcdDataEncryptionProfile from the provided source EtcdDataEncryptionProfile_STATUS +func (profile *EtcdDataEncryptionProfile) Initialize_From_EtcdDataEncryptionProfile_STATUS(source *EtcdDataEncryptionProfile_STATUS) error { + + // CustomerManaged + if source.CustomerManaged != nil { + var customerManaged CustomerManagedEncryptionProfile + err := customerManaged.Initialize_From_CustomerManagedEncryptionProfile_STATUS(source.CustomerManaged) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CustomerManagedEncryptionProfile_STATUS() to populate field CustomerManaged") + } + profile.CustomerManaged = &customerManaged + } else { + profile.CustomerManaged = nil + } + + // KeyManagementMode + if source.KeyManagementMode != nil { + keyManagementMode := genruntime.ToEnum(string(*source.KeyManagementMode), etcdDataEncryptionProfile_KeyManagementMode_Values) + profile.KeyManagementMode = &keyManagementMode + } else { + profile.KeyManagementMode = nil + } + + // No error + return nil +} + +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile_STATUS struct { + // CustomerManaged: Specify customer managed encryption key details. + // Required when keyManagementMode is "CustomerManaged". + CustomerManaged *CustomerManagedEncryptionProfile_STATUS `json:"customerManaged,omitempty"` + + // KeyManagementMode: Specify the key management strategy used for the encryption key that encrypts the ETCD data. + // By default, "PlatformManaged" is used. + KeyManagementMode *EtcdDataEncryptionProfile_KeyManagementMode_STATUS `json:"keyManagementMode,omitempty"` +} + +var _ genruntime.FromARMConverter = &EtcdDataEncryptionProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *EtcdDataEncryptionProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EtcdDataEncryptionProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *EtcdDataEncryptionProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EtcdDataEncryptionProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EtcdDataEncryptionProfile_STATUS, got %T", armInput) + } + + // Set property "CustomerManaged": + if typedInput.CustomerManaged != nil { + var customerManaged1 CustomerManagedEncryptionProfile_STATUS + err := customerManaged1.PopulateFromARM(owner, *typedInput.CustomerManaged) + if err != nil { + return err + } + customerManaged := customerManaged1 + profile.CustomerManaged = &customerManaged + } + + // Set property "KeyManagementMode": + if typedInput.KeyManagementMode != nil { + var temp string + temp = string(*typedInput.KeyManagementMode) + keyManagementMode := EtcdDataEncryptionProfile_KeyManagementMode_STATUS(temp) + profile.KeyManagementMode = &keyManagementMode + } + + // No error + return nil +} + +// AssignProperties_From_EtcdDataEncryptionProfile_STATUS populates our EtcdDataEncryptionProfile_STATUS from the provided source EtcdDataEncryptionProfile_STATUS +func (profile *EtcdDataEncryptionProfile_STATUS) AssignProperties_From_EtcdDataEncryptionProfile_STATUS(source *storage.EtcdDataEncryptionProfile_STATUS) error { + + // CustomerManaged + if source.CustomerManaged != nil { + var customerManaged CustomerManagedEncryptionProfile_STATUS + err := customerManaged.AssignProperties_From_CustomerManagedEncryptionProfile_STATUS(source.CustomerManaged) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomerManagedEncryptionProfile_STATUS() to populate field CustomerManaged") + } + profile.CustomerManaged = &customerManaged + } else { + profile.CustomerManaged = nil + } + + // KeyManagementMode + if source.KeyManagementMode != nil { + keyManagementMode := *source.KeyManagementMode + keyManagementModeTemp := genruntime.ToEnum(keyManagementMode, etcdDataEncryptionProfile_KeyManagementMode_STATUS_Values) + profile.KeyManagementMode = &keyManagementModeTemp + } else { + profile.KeyManagementMode = nil + } + + // No error + return nil +} + +// AssignProperties_To_EtcdDataEncryptionProfile_STATUS populates the provided destination EtcdDataEncryptionProfile_STATUS from our EtcdDataEncryptionProfile_STATUS +func (profile *EtcdDataEncryptionProfile_STATUS) AssignProperties_To_EtcdDataEncryptionProfile_STATUS(destination *storage.EtcdDataEncryptionProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomerManaged + if profile.CustomerManaged != nil { + var customerManaged storage.CustomerManagedEncryptionProfile_STATUS + err := profile.CustomerManaged.AssignProperties_To_CustomerManagedEncryptionProfile_STATUS(&customerManaged) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomerManagedEncryptionProfile_STATUS() to populate field CustomerManaged") + } + destination.CustomerManaged = &customerManaged + } else { + destination.CustomerManaged = nil + } + + // KeyManagementMode + if profile.KeyManagementMode != nil { + keyManagementMode := string(*profile.KeyManagementMode) + destination.KeyManagementMode = &keyManagementMode + } else { + destination.KeyManagementMode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"OVNKubernetes","Other"} +type NetworkProfile_NetworkType string + +const ( + NetworkProfile_NetworkType_OVNKubernetes = NetworkProfile_NetworkType("OVNKubernetes") + NetworkProfile_NetworkType_Other = NetworkProfile_NetworkType("Other") +) + +// Mapping from string to NetworkProfile_NetworkType +var networkProfile_NetworkType_Values = map[string]NetworkProfile_NetworkType{ + "ovnkubernetes": NetworkProfile_NetworkType_OVNKubernetes, + "other": NetworkProfile_NetworkType_Other, +} + +type NetworkProfile_NetworkType_STATUS string + +const ( + NetworkProfile_NetworkType_STATUS_OVNKubernetes = NetworkProfile_NetworkType_STATUS("OVNKubernetes") + NetworkProfile_NetworkType_STATUS_Other = NetworkProfile_NetworkType_STATUS("Other") +) + +// Mapping from string to NetworkProfile_NetworkType_STATUS +var networkProfile_NetworkType_STATUS_Values = map[string]NetworkProfile_NetworkType_STATUS{ + "ovnkubernetes": NetworkProfile_NetworkType_STATUS_OVNKubernetes, + "other": NetworkProfile_NetworkType_STATUS_Other, +} + +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile struct { + // +kubebuilder:validation:Required + // UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + // to perform Operators authentication based on Azure User-Assigned Managed Identities + UserAssignedIdentities *UserAssignedIdentitiesProfile `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.ARMTransformer = &OperatorsAuthenticationProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *OperatorsAuthenticationProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.OperatorsAuthenticationProfile{} + + // Set property "UserAssignedIdentities": + if profile.UserAssignedIdentities != nil { + userAssignedIdentities_ARM, err := profile.UserAssignedIdentities.ConvertToARM(resolved) + if err != nil { + return nil, err + } + userAssignedIdentities := *userAssignedIdentities_ARM.(*arm.UserAssignedIdentitiesProfile) + result.UserAssignedIdentities = &userAssignedIdentities + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *OperatorsAuthenticationProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OperatorsAuthenticationProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *OperatorsAuthenticationProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OperatorsAuthenticationProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OperatorsAuthenticationProfile, got %T", armInput) + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + var userAssignedIdentities1 UserAssignedIdentitiesProfile + err := userAssignedIdentities1.PopulateFromARM(owner, *typedInput.UserAssignedIdentities) + if err != nil { + return err + } + userAssignedIdentities := userAssignedIdentities1 + profile.UserAssignedIdentities = &userAssignedIdentities + } + + // No error + return nil +} + +// AssignProperties_From_OperatorsAuthenticationProfile populates our OperatorsAuthenticationProfile from the provided source OperatorsAuthenticationProfile +func (profile *OperatorsAuthenticationProfile) AssignProperties_From_OperatorsAuthenticationProfile(source *storage.OperatorsAuthenticationProfile) error { + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + var userAssignedIdentity UserAssignedIdentitiesProfile + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentitiesProfile(source.UserAssignedIdentities) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UserAssignedIdentitiesProfile() to populate field UserAssignedIdentities") + } + profile.UserAssignedIdentities = &userAssignedIdentity + } else { + profile.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_OperatorsAuthenticationProfile populates the provided destination OperatorsAuthenticationProfile from our OperatorsAuthenticationProfile +func (profile *OperatorsAuthenticationProfile) AssignProperties_To_OperatorsAuthenticationProfile(destination *storage.OperatorsAuthenticationProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + var userAssignedIdentity storage.UserAssignedIdentitiesProfile + err := profile.UserAssignedIdentities.AssignProperties_To_UserAssignedIdentitiesProfile(&userAssignedIdentity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UserAssignedIdentitiesProfile() to populate field UserAssignedIdentities") + } + destination.UserAssignedIdentities = &userAssignedIdentity + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OperatorsAuthenticationProfile_STATUS populates our OperatorsAuthenticationProfile from the provided source OperatorsAuthenticationProfile_STATUS +func (profile *OperatorsAuthenticationProfile) Initialize_From_OperatorsAuthenticationProfile_STATUS(source *OperatorsAuthenticationProfile_STATUS) error { + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + var userAssignedIdentity UserAssignedIdentitiesProfile + err := userAssignedIdentity.Initialize_From_UserAssignedIdentitiesProfile_STATUS(source.UserAssignedIdentities) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_UserAssignedIdentitiesProfile_STATUS() to populate field UserAssignedIdentities") + } + profile.UserAssignedIdentities = &userAssignedIdentity + } else { + profile.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile_STATUS struct { + // UserAssignedIdentities: Represents the information related to Azure User-Assigned managed identities needed + // to perform Operators authentication based on Azure User-Assigned Managed Identities + UserAssignedIdentities *UserAssignedIdentitiesProfile_STATUS `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.FromARMConverter = &OperatorsAuthenticationProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *OperatorsAuthenticationProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OperatorsAuthenticationProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *OperatorsAuthenticationProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OperatorsAuthenticationProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OperatorsAuthenticationProfile_STATUS, got %T", armInput) + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + var userAssignedIdentities1 UserAssignedIdentitiesProfile_STATUS + err := userAssignedIdentities1.PopulateFromARM(owner, *typedInput.UserAssignedIdentities) + if err != nil { + return err + } + userAssignedIdentities := userAssignedIdentities1 + profile.UserAssignedIdentities = &userAssignedIdentities + } + + // No error + return nil +} + +// AssignProperties_From_OperatorsAuthenticationProfile_STATUS populates our OperatorsAuthenticationProfile_STATUS from the provided source OperatorsAuthenticationProfile_STATUS +func (profile *OperatorsAuthenticationProfile_STATUS) AssignProperties_From_OperatorsAuthenticationProfile_STATUS(source *storage.OperatorsAuthenticationProfile_STATUS) error { + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + var userAssignedIdentity UserAssignedIdentitiesProfile_STATUS + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentitiesProfile_STATUS(source.UserAssignedIdentities) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UserAssignedIdentitiesProfile_STATUS() to populate field UserAssignedIdentities") + } + profile.UserAssignedIdentities = &userAssignedIdentity + } else { + profile.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_OperatorsAuthenticationProfile_STATUS populates the provided destination OperatorsAuthenticationProfile_STATUS from our OperatorsAuthenticationProfile_STATUS +func (profile *OperatorsAuthenticationProfile_STATUS) AssignProperties_To_OperatorsAuthenticationProfile_STATUS(destination *storage.OperatorsAuthenticationProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + var userAssignedIdentity storage.UserAssignedIdentitiesProfile_STATUS + err := profile.UserAssignedIdentities.AssignProperties_To_UserAssignedIdentitiesProfile_STATUS(&userAssignedIdentity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UserAssignedIdentitiesProfile_STATUS() to populate field UserAssignedIdentities") + } + destination.UserAssignedIdentities = &userAssignedIdentity + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"LoadBalancer"} +type PlatformProfile_OutboundType string + +const PlatformProfile_OutboundType_LoadBalancer = PlatformProfile_OutboundType("LoadBalancer") + +// Mapping from string to PlatformProfile_OutboundType +var platformProfile_OutboundType_Values = map[string]PlatformProfile_OutboundType{ + "loadbalancer": PlatformProfile_OutboundType_LoadBalancer, +} + +type PlatformProfile_OutboundType_STATUS string + +const PlatformProfile_OutboundType_STATUS_LoadBalancer = PlatformProfile_OutboundType_STATUS("LoadBalancer") + +// Mapping from string to PlatformProfile_OutboundType_STATUS +var platformProfile_OutboundType_STATUS_Values = map[string]PlatformProfile_OutboundType_STATUS{ + "loadbalancer": PlatformProfile_OutboundType_STATUS_LoadBalancer, +} + +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile struct { + // EncryptionType: The encryption type used. + // By default, "KMS" is used. + EncryptionType *CustomerManagedEncryptionProfile_EncryptionType `json:"encryptionType,omitempty"` + + // Kms: The Key Management Service (KMS) encryption key details. + // Required when encryptionType is "KMS". + Kms *KmsEncryptionProfile `json:"kms,omitempty"` +} + +var _ genruntime.ARMTransformer = &CustomerManagedEncryptionProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *CustomerManagedEncryptionProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.CustomerManagedEncryptionProfile{} + + // Set property "EncryptionType": + if profile.EncryptionType != nil { + var temp string + temp = string(*profile.EncryptionType) + encryptionType := arm.CustomerManagedEncryptionProfile_EncryptionType(temp) + result.EncryptionType = &encryptionType + } + + // Set property "Kms": + if profile.Kms != nil { + kms_ARM, err := profile.Kms.ConvertToARM(resolved) + if err != nil { + return nil, err + } + kms := *kms_ARM.(*arm.KmsEncryptionProfile) + result.Kms = &kms + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *CustomerManagedEncryptionProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomerManagedEncryptionProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *CustomerManagedEncryptionProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomerManagedEncryptionProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomerManagedEncryptionProfile, got %T", armInput) + } + + // Set property "EncryptionType": + if typedInput.EncryptionType != nil { + var temp string + temp = string(*typedInput.EncryptionType) + encryptionType := CustomerManagedEncryptionProfile_EncryptionType(temp) + profile.EncryptionType = &encryptionType + } + + // Set property "Kms": + if typedInput.Kms != nil { + var kms1 KmsEncryptionProfile + err := kms1.PopulateFromARM(owner, *typedInput.Kms) + if err != nil { + return err + } + kms := kms1 + profile.Kms = &kms + } + + // No error + return nil +} + +// AssignProperties_From_CustomerManagedEncryptionProfile populates our CustomerManagedEncryptionProfile from the provided source CustomerManagedEncryptionProfile +func (profile *CustomerManagedEncryptionProfile) AssignProperties_From_CustomerManagedEncryptionProfile(source *storage.CustomerManagedEncryptionProfile) error { + + // EncryptionType + if source.EncryptionType != nil { + encryptionType := *source.EncryptionType + encryptionTypeTemp := genruntime.ToEnum(encryptionType, customerManagedEncryptionProfile_EncryptionType_Values) + profile.EncryptionType = &encryptionTypeTemp + } else { + profile.EncryptionType = nil + } + + // Kms + if source.Kms != nil { + var km KmsEncryptionProfile + err := km.AssignProperties_From_KmsEncryptionProfile(source.Kms) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_KmsEncryptionProfile() to populate field Kms") + } + profile.Kms = &km + } else { + profile.Kms = nil + } + + // No error + return nil +} + +// AssignProperties_To_CustomerManagedEncryptionProfile populates the provided destination CustomerManagedEncryptionProfile from our CustomerManagedEncryptionProfile +func (profile *CustomerManagedEncryptionProfile) AssignProperties_To_CustomerManagedEncryptionProfile(destination *storage.CustomerManagedEncryptionProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EncryptionType + if profile.EncryptionType != nil { + encryptionType := string(*profile.EncryptionType) + destination.EncryptionType = &encryptionType + } else { + destination.EncryptionType = nil + } + + // Kms + if profile.Kms != nil { + var km storage.KmsEncryptionProfile + err := profile.Kms.AssignProperties_To_KmsEncryptionProfile(&km) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_KmsEncryptionProfile() to populate field Kms") + } + destination.Kms = &km + } else { + destination.Kms = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CustomerManagedEncryptionProfile_STATUS populates our CustomerManagedEncryptionProfile from the provided source CustomerManagedEncryptionProfile_STATUS +func (profile *CustomerManagedEncryptionProfile) Initialize_From_CustomerManagedEncryptionProfile_STATUS(source *CustomerManagedEncryptionProfile_STATUS) error { + + // EncryptionType + if source.EncryptionType != nil { + encryptionType := genruntime.ToEnum(string(*source.EncryptionType), customerManagedEncryptionProfile_EncryptionType_Values) + profile.EncryptionType = &encryptionType + } else { + profile.EncryptionType = nil + } + + // Kms + if source.Kms != nil { + var km KmsEncryptionProfile + err := km.Initialize_From_KmsEncryptionProfile_STATUS(source.Kms) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_KmsEncryptionProfile_STATUS() to populate field Kms") + } + profile.Kms = &km + } else { + profile.Kms = nil + } + + // No error + return nil +} + +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile_STATUS struct { + // EncryptionType: The encryption type used. + // By default, "KMS" is used. + EncryptionType *CustomerManagedEncryptionProfile_EncryptionType_STATUS `json:"encryptionType,omitempty"` + + // Kms: The Key Management Service (KMS) encryption key details. + // Required when encryptionType is "KMS". + Kms *KmsEncryptionProfile_STATUS `json:"kms,omitempty"` +} + +var _ genruntime.FromARMConverter = &CustomerManagedEncryptionProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *CustomerManagedEncryptionProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomerManagedEncryptionProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *CustomerManagedEncryptionProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomerManagedEncryptionProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomerManagedEncryptionProfile_STATUS, got %T", armInput) + } + + // Set property "EncryptionType": + if typedInput.EncryptionType != nil { + var temp string + temp = string(*typedInput.EncryptionType) + encryptionType := CustomerManagedEncryptionProfile_EncryptionType_STATUS(temp) + profile.EncryptionType = &encryptionType + } + + // Set property "Kms": + if typedInput.Kms != nil { + var kms1 KmsEncryptionProfile_STATUS + err := kms1.PopulateFromARM(owner, *typedInput.Kms) + if err != nil { + return err + } + kms := kms1 + profile.Kms = &kms + } + + // No error + return nil +} + +// AssignProperties_From_CustomerManagedEncryptionProfile_STATUS populates our CustomerManagedEncryptionProfile_STATUS from the provided source CustomerManagedEncryptionProfile_STATUS +func (profile *CustomerManagedEncryptionProfile_STATUS) AssignProperties_From_CustomerManagedEncryptionProfile_STATUS(source *storage.CustomerManagedEncryptionProfile_STATUS) error { + + // EncryptionType + if source.EncryptionType != nil { + encryptionType := *source.EncryptionType + encryptionTypeTemp := genruntime.ToEnum(encryptionType, customerManagedEncryptionProfile_EncryptionType_STATUS_Values) + profile.EncryptionType = &encryptionTypeTemp + } else { + profile.EncryptionType = nil + } + + // Kms + if source.Kms != nil { + var km KmsEncryptionProfile_STATUS + err := km.AssignProperties_From_KmsEncryptionProfile_STATUS(source.Kms) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_KmsEncryptionProfile_STATUS() to populate field Kms") + } + profile.Kms = &km + } else { + profile.Kms = nil + } + + // No error + return nil +} + +// AssignProperties_To_CustomerManagedEncryptionProfile_STATUS populates the provided destination CustomerManagedEncryptionProfile_STATUS from our CustomerManagedEncryptionProfile_STATUS +func (profile *CustomerManagedEncryptionProfile_STATUS) AssignProperties_To_CustomerManagedEncryptionProfile_STATUS(destination *storage.CustomerManagedEncryptionProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EncryptionType + if profile.EncryptionType != nil { + encryptionType := string(*profile.EncryptionType) + destination.EncryptionType = &encryptionType + } else { + destination.EncryptionType = nil + } + + // Kms + if profile.Kms != nil { + var km storage.KmsEncryptionProfile_STATUS + err := profile.Kms.AssignProperties_To_KmsEncryptionProfile_STATUS(&km) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_KmsEncryptionProfile_STATUS() to populate field Kms") + } + destination.Kms = &km + } else { + destination.Kms = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"CustomerManaged","PlatformManaged"} +type EtcdDataEncryptionProfile_KeyManagementMode string + +const ( + EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged = EtcdDataEncryptionProfile_KeyManagementMode("CustomerManaged") + EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged = EtcdDataEncryptionProfile_KeyManagementMode("PlatformManaged") +) + +// Mapping from string to EtcdDataEncryptionProfile_KeyManagementMode +var etcdDataEncryptionProfile_KeyManagementMode_Values = map[string]EtcdDataEncryptionProfile_KeyManagementMode{ + "customermanaged": EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged, + "platformmanaged": EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged, +} + +type EtcdDataEncryptionProfile_KeyManagementMode_STATUS string + +const ( + EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged = EtcdDataEncryptionProfile_KeyManagementMode_STATUS("CustomerManaged") + EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged = EtcdDataEncryptionProfile_KeyManagementMode_STATUS("PlatformManaged") +) + +// Mapping from string to EtcdDataEncryptionProfile_KeyManagementMode_STATUS +var etcdDataEncryptionProfile_KeyManagementMode_STATUS_Values = map[string]EtcdDataEncryptionProfile_KeyManagementMode_STATUS{ + "customermanaged": EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged, + "platformmanaged": EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged, +} + +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile struct { + // +kubebuilder:validation:Required + // ControlPlaneOperatorsReferences: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + ControlPlaneOperatorsReferences map[string]genruntime.ResourceReference `armReference:"ControlPlaneOperators" json:"controlPlaneOperatorsReferences,omitempty"` + + // +kubebuilder:validation:Required + // DataPlaneOperatorsReferences: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + DataPlaneOperatorsReferences map[string]genruntime.ResourceReference `armReference:"DataPlaneOperators" json:"dataPlaneOperatorsReferences,omitempty"` + + // +kubebuilder:validation:Required + // ServiceManagedIdentityReference: Represents the information associated to an Azure User-Assigned Managed Identity whose + // purpose is to perform service level actions. + ServiceManagedIdentityReference *genruntime.ResourceReference `armReference:"ServiceManagedIdentity" json:"serviceManagedIdentityReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &UserAssignedIdentitiesProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *UserAssignedIdentitiesProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.UserAssignedIdentitiesProfile{} + + // Set property "ControlPlaneOperators": + if profile.ControlPlaneOperatorsReferences != nil { + result.ControlPlaneOperators = make(map[string]string, len(profile.ControlPlaneOperatorsReferences)) + for key, value := range profile.ControlPlaneOperatorsReferences { + valueARMID, err := resolved.ResolvedReferences.Lookup(value) + if err != nil { + return nil, err + } + result.ControlPlaneOperators[key] = valueARMID + } + } + + // Set property "DataPlaneOperators": + if profile.DataPlaneOperatorsReferences != nil { + result.DataPlaneOperators = make(map[string]string, len(profile.DataPlaneOperatorsReferences)) + for key, value := range profile.DataPlaneOperatorsReferences { + valueARMID, err := resolved.ResolvedReferences.Lookup(value) + if err != nil { + return nil, err + } + result.DataPlaneOperators[key] = valueARMID + } + } + + // Set property "ServiceManagedIdentity": + if profile.ServiceManagedIdentityReference != nil { + serviceManagedIdentityReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.ServiceManagedIdentityReference) + if err != nil { + return nil, err + } + serviceManagedIdentityReference := serviceManagedIdentityReferenceARMID + result.ServiceManagedIdentity = &serviceManagedIdentityReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *UserAssignedIdentitiesProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentitiesProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *UserAssignedIdentitiesProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + _, ok := armInput.(arm.UserAssignedIdentitiesProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentitiesProfile, got %T", armInput) + } + + // no assignment for property "ControlPlaneOperatorsReferences" + + // no assignment for property "DataPlaneOperatorsReferences" + + // no assignment for property "ServiceManagedIdentityReference" + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentitiesProfile populates our UserAssignedIdentitiesProfile from the provided source UserAssignedIdentitiesProfile +func (profile *UserAssignedIdentitiesProfile) AssignProperties_From_UserAssignedIdentitiesProfile(source *storage.UserAssignedIdentitiesProfile) error { + + // ControlPlaneOperatorsReferences + if source.ControlPlaneOperatorsReferences != nil { + controlPlaneOperatorsReferenceMap := make(map[string]genruntime.ResourceReference, len(source.ControlPlaneOperatorsReferences)) + for controlPlaneOperatorsReferenceKey, controlPlaneOperatorsReferenceValue := range source.ControlPlaneOperatorsReferences { + controlPlaneOperatorsReferenceMap[controlPlaneOperatorsReferenceKey] = controlPlaneOperatorsReferenceValue.Copy() + } + profile.ControlPlaneOperatorsReferences = controlPlaneOperatorsReferenceMap + } else { + profile.ControlPlaneOperatorsReferences = nil + } + + // DataPlaneOperatorsReferences + if source.DataPlaneOperatorsReferences != nil { + dataPlaneOperatorsReferenceMap := make(map[string]genruntime.ResourceReference, len(source.DataPlaneOperatorsReferences)) + for dataPlaneOperatorsReferenceKey, dataPlaneOperatorsReferenceValue := range source.DataPlaneOperatorsReferences { + dataPlaneOperatorsReferenceMap[dataPlaneOperatorsReferenceKey] = dataPlaneOperatorsReferenceValue.Copy() + } + profile.DataPlaneOperatorsReferences = dataPlaneOperatorsReferenceMap + } else { + profile.DataPlaneOperatorsReferences = nil + } + + // ServiceManagedIdentityReference + if source.ServiceManagedIdentityReference != nil { + serviceManagedIdentityReference := source.ServiceManagedIdentityReference.Copy() + profile.ServiceManagedIdentityReference = &serviceManagedIdentityReference + } else { + profile.ServiceManagedIdentityReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentitiesProfile populates the provided destination UserAssignedIdentitiesProfile from our UserAssignedIdentitiesProfile +func (profile *UserAssignedIdentitiesProfile) AssignProperties_To_UserAssignedIdentitiesProfile(destination *storage.UserAssignedIdentitiesProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ControlPlaneOperatorsReferences + if profile.ControlPlaneOperatorsReferences != nil { + controlPlaneOperatorsReferenceMap := make(map[string]genruntime.ResourceReference, len(profile.ControlPlaneOperatorsReferences)) + for controlPlaneOperatorsReferenceKey, controlPlaneOperatorsReferenceValue := range profile.ControlPlaneOperatorsReferences { + controlPlaneOperatorsReferenceMap[controlPlaneOperatorsReferenceKey] = controlPlaneOperatorsReferenceValue.Copy() + } + destination.ControlPlaneOperatorsReferences = controlPlaneOperatorsReferenceMap + } else { + destination.ControlPlaneOperatorsReferences = nil + } + + // DataPlaneOperatorsReferences + if profile.DataPlaneOperatorsReferences != nil { + dataPlaneOperatorsReferenceMap := make(map[string]genruntime.ResourceReference, len(profile.DataPlaneOperatorsReferences)) + for dataPlaneOperatorsReferenceKey, dataPlaneOperatorsReferenceValue := range profile.DataPlaneOperatorsReferences { + dataPlaneOperatorsReferenceMap[dataPlaneOperatorsReferenceKey] = dataPlaneOperatorsReferenceValue.Copy() + } + destination.DataPlaneOperatorsReferences = dataPlaneOperatorsReferenceMap + } else { + destination.DataPlaneOperatorsReferences = nil + } + + // ServiceManagedIdentityReference + if profile.ServiceManagedIdentityReference != nil { + serviceManagedIdentityReference := profile.ServiceManagedIdentityReference.Copy() + destination.ServiceManagedIdentityReference = &serviceManagedIdentityReference + } else { + destination.ServiceManagedIdentityReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_UserAssignedIdentitiesProfile_STATUS populates our UserAssignedIdentitiesProfile from the provided source UserAssignedIdentitiesProfile_STATUS +func (profile *UserAssignedIdentitiesProfile) Initialize_From_UserAssignedIdentitiesProfile_STATUS(source *UserAssignedIdentitiesProfile_STATUS) error { + + // No error + return nil +} + +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile_STATUS struct { + // ControlPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Control Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + ControlPlaneOperators map[string]string `json:"controlPlaneOperators,omitempty"` + + // DataPlaneOperators: The set of Azure User-Assigned Managed Identities leveraged for the Data Plane + // operators of the cluster. The set of required managed identities is dependent on the + // Cluster's OpenShift version. + DataPlaneOperators map[string]string `json:"dataPlaneOperators,omitempty"` + + // ServiceManagedIdentity: Represents the information associated to an Azure User-Assigned Managed Identity whose + // purpose is to perform service level actions. + ServiceManagedIdentity *string `json:"serviceManagedIdentity,omitempty"` +} + +var _ genruntime.FromARMConverter = &UserAssignedIdentitiesProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *UserAssignedIdentitiesProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentitiesProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *UserAssignedIdentitiesProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UserAssignedIdentitiesProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentitiesProfile_STATUS, got %T", armInput) + } + + // Set property "ControlPlaneOperators": + if typedInput.ControlPlaneOperators != nil { + profile.ControlPlaneOperators = make(map[string]string, len(typedInput.ControlPlaneOperators)) + for key, value := range typedInput.ControlPlaneOperators { + profile.ControlPlaneOperators[key] = value + } + } + + // Set property "DataPlaneOperators": + if typedInput.DataPlaneOperators != nil { + profile.DataPlaneOperators = make(map[string]string, len(typedInput.DataPlaneOperators)) + for key, value := range typedInput.DataPlaneOperators { + profile.DataPlaneOperators[key] = value + } + } + + // Set property "ServiceManagedIdentity": + if typedInput.ServiceManagedIdentity != nil { + serviceManagedIdentity := *typedInput.ServiceManagedIdentity + profile.ServiceManagedIdentity = &serviceManagedIdentity + } + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentitiesProfile_STATUS populates our UserAssignedIdentitiesProfile_STATUS from the provided source UserAssignedIdentitiesProfile_STATUS +func (profile *UserAssignedIdentitiesProfile_STATUS) AssignProperties_From_UserAssignedIdentitiesProfile_STATUS(source *storage.UserAssignedIdentitiesProfile_STATUS) error { + + // ControlPlaneOperators + profile.ControlPlaneOperators = genruntime.CloneMapOfStringToString(source.ControlPlaneOperators) + + // DataPlaneOperators + profile.DataPlaneOperators = genruntime.CloneMapOfStringToString(source.DataPlaneOperators) + + // ServiceManagedIdentity + profile.ServiceManagedIdentity = genruntime.ClonePointerToString(source.ServiceManagedIdentity) + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentitiesProfile_STATUS populates the provided destination UserAssignedIdentitiesProfile_STATUS from our UserAssignedIdentitiesProfile_STATUS +func (profile *UserAssignedIdentitiesProfile_STATUS) AssignProperties_To_UserAssignedIdentitiesProfile_STATUS(destination *storage.UserAssignedIdentitiesProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ControlPlaneOperators + destination.ControlPlaneOperators = genruntime.CloneMapOfStringToString(profile.ControlPlaneOperators) + + // DataPlaneOperators + destination.DataPlaneOperators = genruntime.CloneMapOfStringToString(profile.DataPlaneOperators) + + // ServiceManagedIdentity + destination.ServiceManagedIdentity = genruntime.ClonePointerToString(profile.ServiceManagedIdentity) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"KMS"} +type CustomerManagedEncryptionProfile_EncryptionType string + +const CustomerManagedEncryptionProfile_EncryptionType_KMS = CustomerManagedEncryptionProfile_EncryptionType("KMS") + +// Mapping from string to CustomerManagedEncryptionProfile_EncryptionType +var customerManagedEncryptionProfile_EncryptionType_Values = map[string]CustomerManagedEncryptionProfile_EncryptionType{ + "kms": CustomerManagedEncryptionProfile_EncryptionType_KMS, +} + +type CustomerManagedEncryptionProfile_EncryptionType_STATUS string + +const CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS = CustomerManagedEncryptionProfile_EncryptionType_STATUS("KMS") + +// Mapping from string to CustomerManagedEncryptionProfile_EncryptionType_STATUS +var customerManagedEncryptionProfile_EncryptionType_STATUS_Values = map[string]CustomerManagedEncryptionProfile_EncryptionType_STATUS{ + "kms": CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS, +} + +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile struct { + // +kubebuilder:validation:Required + // ActiveKey: The details of the active key. + ActiveKey *KmsKey `json:"activeKey,omitempty"` +} + +var _ genruntime.ARMTransformer = &KmsEncryptionProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *KmsEncryptionProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.KmsEncryptionProfile{} + + // Set property "ActiveKey": + if profile.ActiveKey != nil { + activeKey_ARM, err := profile.ActiveKey.ConvertToARM(resolved) + if err != nil { + return nil, err + } + activeKey := *activeKey_ARM.(*arm.KmsKey) + result.ActiveKey = &activeKey + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *KmsEncryptionProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KmsEncryptionProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *KmsEncryptionProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KmsEncryptionProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KmsEncryptionProfile, got %T", armInput) + } + + // Set property "ActiveKey": + if typedInput.ActiveKey != nil { + var activeKey1 KmsKey + err := activeKey1.PopulateFromARM(owner, *typedInput.ActiveKey) + if err != nil { + return err + } + activeKey := activeKey1 + profile.ActiveKey = &activeKey + } + + // No error + return nil +} + +// AssignProperties_From_KmsEncryptionProfile populates our KmsEncryptionProfile from the provided source KmsEncryptionProfile +func (profile *KmsEncryptionProfile) AssignProperties_From_KmsEncryptionProfile(source *storage.KmsEncryptionProfile) error { + + // ActiveKey + if source.ActiveKey != nil { + var activeKey KmsKey + err := activeKey.AssignProperties_From_KmsKey(source.ActiveKey) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_KmsKey() to populate field ActiveKey") + } + profile.ActiveKey = &activeKey + } else { + profile.ActiveKey = nil + } + + // No error + return nil +} + +// AssignProperties_To_KmsEncryptionProfile populates the provided destination KmsEncryptionProfile from our KmsEncryptionProfile +func (profile *KmsEncryptionProfile) AssignProperties_To_KmsEncryptionProfile(destination *storage.KmsEncryptionProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ActiveKey + if profile.ActiveKey != nil { + var activeKey storage.KmsKey + err := profile.ActiveKey.AssignProperties_To_KmsKey(&activeKey) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_KmsKey() to populate field ActiveKey") + } + destination.ActiveKey = &activeKey + } else { + destination.ActiveKey = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_KmsEncryptionProfile_STATUS populates our KmsEncryptionProfile from the provided source KmsEncryptionProfile_STATUS +func (profile *KmsEncryptionProfile) Initialize_From_KmsEncryptionProfile_STATUS(source *KmsEncryptionProfile_STATUS) error { + + // ActiveKey + if source.ActiveKey != nil { + var activeKey KmsKey + err := activeKey.Initialize_From_KmsKey_STATUS(source.ActiveKey) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_KmsKey_STATUS() to populate field ActiveKey") + } + profile.ActiveKey = &activeKey + } else { + profile.ActiveKey = nil + } + + // No error + return nil +} + +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile_STATUS struct { + // ActiveKey: The details of the active key. + ActiveKey *KmsKey_STATUS `json:"activeKey,omitempty"` +} + +var _ genruntime.FromARMConverter = &KmsEncryptionProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *KmsEncryptionProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KmsEncryptionProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *KmsEncryptionProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KmsEncryptionProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KmsEncryptionProfile_STATUS, got %T", armInput) + } + + // Set property "ActiveKey": + if typedInput.ActiveKey != nil { + var activeKey1 KmsKey_STATUS + err := activeKey1.PopulateFromARM(owner, *typedInput.ActiveKey) + if err != nil { + return err + } + activeKey := activeKey1 + profile.ActiveKey = &activeKey + } + + // No error + return nil +} + +// AssignProperties_From_KmsEncryptionProfile_STATUS populates our KmsEncryptionProfile_STATUS from the provided source KmsEncryptionProfile_STATUS +func (profile *KmsEncryptionProfile_STATUS) AssignProperties_From_KmsEncryptionProfile_STATUS(source *storage.KmsEncryptionProfile_STATUS) error { + + // ActiveKey + if source.ActiveKey != nil { + var activeKey KmsKey_STATUS + err := activeKey.AssignProperties_From_KmsKey_STATUS(source.ActiveKey) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_KmsKey_STATUS() to populate field ActiveKey") + } + profile.ActiveKey = &activeKey + } else { + profile.ActiveKey = nil + } + + // No error + return nil +} + +// AssignProperties_To_KmsEncryptionProfile_STATUS populates the provided destination KmsEncryptionProfile_STATUS from our KmsEncryptionProfile_STATUS +func (profile *KmsEncryptionProfile_STATUS) AssignProperties_To_KmsEncryptionProfile_STATUS(destination *storage.KmsEncryptionProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ActiveKey + if profile.ActiveKey != nil { + var activeKey storage.KmsKey_STATUS + err := profile.ActiveKey.AssignProperties_To_KmsKey_STATUS(&activeKey) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_KmsKey_STATUS() to populate field ActiveKey") + } + destination.ActiveKey = &activeKey + } else { + destination.ActiveKey = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// A representation of a KeyVault Secret. +type KmsKey struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=255 + // +kubebuilder:validation:MinLength=1 + // Name: name is the name of the keyvault key used for encryption/decryption. + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=255 + // +kubebuilder:validation:MinLength=1 + // VaultName: vaultName is the name of the keyvault that contains the secret. + VaultName *string `json:"vaultName,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=255 + // +kubebuilder:validation:MinLength=1 + // Version: version contains the version of the key to use. + Version *string `json:"version,omitempty"` +} + +var _ genruntime.ARMTransformer = &KmsKey{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (kmsKey *KmsKey) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if kmsKey == nil { + return nil, nil + } + result := &arm.KmsKey{} + + // Set property "Name": + if kmsKey.Name != nil { + name := *kmsKey.Name + result.Name = &name + } + + // Set property "VaultName": + if kmsKey.VaultName != nil { + vaultName := *kmsKey.VaultName + result.VaultName = &vaultName + } + + // Set property "Version": + if kmsKey.Version != nil { + version := *kmsKey.Version + result.Version = &version + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (kmsKey *KmsKey) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KmsKey{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (kmsKey *KmsKey) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KmsKey) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KmsKey, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + kmsKey.Name = &name + } + + // Set property "VaultName": + if typedInput.VaultName != nil { + vaultName := *typedInput.VaultName + kmsKey.VaultName = &vaultName + } + + // Set property "Version": + if typedInput.Version != nil { + version := *typedInput.Version + kmsKey.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_KmsKey populates our KmsKey from the provided source KmsKey +func (kmsKey *KmsKey) AssignProperties_From_KmsKey(source *storage.KmsKey) error { + + // Name + kmsKey.Name = genruntime.ClonePointerToString(source.Name) + + // VaultName + kmsKey.VaultName = genruntime.ClonePointerToString(source.VaultName) + + // Version + kmsKey.Version = genruntime.ClonePointerToString(source.Version) + + // No error + return nil +} + +// AssignProperties_To_KmsKey populates the provided destination KmsKey from our KmsKey +func (kmsKey *KmsKey) AssignProperties_To_KmsKey(destination *storage.KmsKey) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(kmsKey.Name) + + // VaultName + destination.VaultName = genruntime.ClonePointerToString(kmsKey.VaultName) + + // Version + destination.Version = genruntime.ClonePointerToString(kmsKey.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_KmsKey_STATUS populates our KmsKey from the provided source KmsKey_STATUS +func (kmsKey *KmsKey) Initialize_From_KmsKey_STATUS(source *KmsKey_STATUS) error { + + // Name + kmsKey.Name = genruntime.ClonePointerToString(source.Name) + + // VaultName + kmsKey.VaultName = genruntime.ClonePointerToString(source.VaultName) + + // Version + kmsKey.Version = genruntime.ClonePointerToString(source.Version) + + // No error + return nil +} + +// A representation of a KeyVault Secret. +type KmsKey_STATUS struct { + // Name: name is the name of the keyvault key used for encryption/decryption. + Name *string `json:"name,omitempty"` + + // VaultName: vaultName is the name of the keyvault that contains the secret. + VaultName *string `json:"vaultName,omitempty"` + + // Version: version contains the version of the key to use. + Version *string `json:"version,omitempty"` +} + +var _ genruntime.FromARMConverter = &KmsKey_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (kmsKey *KmsKey_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KmsKey_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (kmsKey *KmsKey_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KmsKey_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KmsKey_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + kmsKey.Name = &name + } + + // Set property "VaultName": + if typedInput.VaultName != nil { + vaultName := *typedInput.VaultName + kmsKey.VaultName = &vaultName + } + + // Set property "Version": + if typedInput.Version != nil { + version := *typedInput.Version + kmsKey.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_KmsKey_STATUS populates our KmsKey_STATUS from the provided source KmsKey_STATUS +func (kmsKey *KmsKey_STATUS) AssignProperties_From_KmsKey_STATUS(source *storage.KmsKey_STATUS) error { + + // Name + kmsKey.Name = genruntime.ClonePointerToString(source.Name) + + // VaultName + kmsKey.VaultName = genruntime.ClonePointerToString(source.VaultName) + + // Version + kmsKey.Version = genruntime.ClonePointerToString(source.Version) + + // No error + return nil +} + +// AssignProperties_To_KmsKey_STATUS populates the provided destination KmsKey_STATUS from our KmsKey_STATUS +func (kmsKey *KmsKey_STATUS) AssignProperties_To_KmsKey_STATUS(destination *storage.KmsKey_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(kmsKey.Name) + + // VaultName + destination.VaultName = genruntime.ClonePointerToString(kmsKey.VaultName) + + // Version + destination.Version = genruntime.ClonePointerToString(kmsKey.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftCluster{}, &HcpOpenShiftClusterList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen_test.go new file mode 100644 index 00000000000..89d4be80c19 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_cluster_types_gen_test.go @@ -0,0 +1,4522 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ApiProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ApiProfile to ApiProfile via AssignProperties_To_ApiProfile & AssignProperties_From_ApiProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForApiProfile, ApiProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApiProfile tests if a specific instance of ApiProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApiProfile(subject ApiProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ApiProfile + err := copied.AssignProperties_To_ApiProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ApiProfile + err = actual.AssignProperties_From_ApiProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ApiProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile, ApiProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile runs a test to see if a specific instance of ApiProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile(subject ApiProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile instances for property testing - lazily instantiated by ApiProfileGenerator() +var apiProfileGenerator gopter.Gen + +// ApiProfileGenerator returns a generator of ApiProfile instances for property testing. +func ApiProfileGenerator() gopter.Gen { + if apiProfileGenerator != nil { + return apiProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile(generators) + apiProfileGenerator = gen.Struct(reflect.TypeOf(ApiProfile{}), generators) + + return apiProfileGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.OneConstOf(ApiProfile_Visibility_Private, ApiProfile_Visibility_Public)) +} + +func Test_ApiProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ApiProfile_STATUS to ApiProfile_STATUS via AssignProperties_To_ApiProfile_STATUS & AssignProperties_From_ApiProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForApiProfile_STATUS, ApiProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApiProfile_STATUS tests if a specific instance of ApiProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApiProfile_STATUS(subject ApiProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ApiProfile_STATUS + err := copied.AssignProperties_To_ApiProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ApiProfile_STATUS + err = actual.AssignProperties_From_ApiProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ApiProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile_STATUS, ApiProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile_STATUS runs a test to see if a specific instance of ApiProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile_STATUS(subject ApiProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile_STATUS instances for property testing - lazily instantiated by ApiProfile_STATUSGenerator() +var apiProfile_STATUSGenerator gopter.Gen + +// ApiProfile_STATUSGenerator returns a generator of ApiProfile_STATUS instances for property testing. +func ApiProfile_STATUSGenerator() gopter.Gen { + if apiProfile_STATUSGenerator != nil { + return apiProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile_STATUS(generators) + apiProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ApiProfile_STATUS{}), generators) + + return apiProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.OneConstOf(ApiProfile_Visibility_STATUS_Private, ApiProfile_Visibility_STATUS_Public)) +} + +func Test_ClusterAutoscalingProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterAutoscalingProfile to ClusterAutoscalingProfile via AssignProperties_To_ClusterAutoscalingProfile & AssignProperties_From_ClusterAutoscalingProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterAutoscalingProfile, ClusterAutoscalingProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterAutoscalingProfile tests if a specific instance of ClusterAutoscalingProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterAutoscalingProfile(subject ClusterAutoscalingProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterAutoscalingProfile + err := copied.AssignProperties_To_ClusterAutoscalingProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterAutoscalingProfile + err = actual.AssignProperties_From_ClusterAutoscalingProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterAutoscalingProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile, ClusterAutoscalingProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile runs a test to see if a specific instance of ClusterAutoscalingProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile(subject ClusterAutoscalingProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile instances for property testing - lazily instantiated by +// ClusterAutoscalingProfileGenerator() +var clusterAutoscalingProfileGenerator gopter.Gen + +// ClusterAutoscalingProfileGenerator returns a generator of ClusterAutoscalingProfile instances for property testing. +func ClusterAutoscalingProfileGenerator() gopter.Gen { + if clusterAutoscalingProfileGenerator != nil { + return clusterAutoscalingProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(generators) + clusterAutoscalingProfileGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile{}), generators) + + return clusterAutoscalingProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterAutoscalingProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterAutoscalingProfile_STATUS to ClusterAutoscalingProfile_STATUS via AssignProperties_To_ClusterAutoscalingProfile_STATUS & AssignProperties_From_ClusterAutoscalingProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterAutoscalingProfile_STATUS, ClusterAutoscalingProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterAutoscalingProfile_STATUS tests if a specific instance of ClusterAutoscalingProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterAutoscalingProfile_STATUS(subject ClusterAutoscalingProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterAutoscalingProfile_STATUS + err := copied.AssignProperties_To_ClusterAutoscalingProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterAutoscalingProfile_STATUS + err = actual.AssignProperties_From_ClusterAutoscalingProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterAutoscalingProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile_STATUS, ClusterAutoscalingProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile_STATUS runs a test to see if a specific instance of ClusterAutoscalingProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile_STATUS(subject ClusterAutoscalingProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile_STATUS instances for property testing - lazily instantiated by +// ClusterAutoscalingProfile_STATUSGenerator() +var clusterAutoscalingProfile_STATUSGenerator gopter.Gen + +// ClusterAutoscalingProfile_STATUSGenerator returns a generator of ClusterAutoscalingProfile_STATUS instances for property testing. +func ClusterAutoscalingProfile_STATUSGenerator() gopter.Gen { + if clusterAutoscalingProfile_STATUSGenerator != nil { + return clusterAutoscalingProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(generators) + clusterAutoscalingProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile_STATUS{}), generators) + + return clusterAutoscalingProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterImageRegistryProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterImageRegistryProfile to ClusterImageRegistryProfile via AssignProperties_To_ClusterImageRegistryProfile & AssignProperties_From_ClusterImageRegistryProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterImageRegistryProfile, ClusterImageRegistryProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterImageRegistryProfile tests if a specific instance of ClusterImageRegistryProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterImageRegistryProfile(subject ClusterImageRegistryProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterImageRegistryProfile + err := copied.AssignProperties_To_ClusterImageRegistryProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterImageRegistryProfile + err = actual.AssignProperties_From_ClusterImageRegistryProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterImageRegistryProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile, ClusterImageRegistryProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile runs a test to see if a specific instance of ClusterImageRegistryProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile(subject ClusterImageRegistryProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile instances for property testing - lazily instantiated by +// ClusterImageRegistryProfileGenerator() +var clusterImageRegistryProfileGenerator gopter.Gen + +// ClusterImageRegistryProfileGenerator returns a generator of ClusterImageRegistryProfile instances for property testing. +func ClusterImageRegistryProfileGenerator() gopter.Gen { + if clusterImageRegistryProfileGenerator != nil { + return clusterImageRegistryProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(generators) + clusterImageRegistryProfileGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile{}), generators) + + return clusterImageRegistryProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.OneConstOf(ClusterImageRegistryProfile_State_Disabled, ClusterImageRegistryProfile_State_Enabled)) +} + +func Test_ClusterImageRegistryProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterImageRegistryProfile_STATUS to ClusterImageRegistryProfile_STATUS via AssignProperties_To_ClusterImageRegistryProfile_STATUS & AssignProperties_From_ClusterImageRegistryProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterImageRegistryProfile_STATUS, ClusterImageRegistryProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterImageRegistryProfile_STATUS tests if a specific instance of ClusterImageRegistryProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterImageRegistryProfile_STATUS(subject ClusterImageRegistryProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterImageRegistryProfile_STATUS + err := copied.AssignProperties_To_ClusterImageRegistryProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterImageRegistryProfile_STATUS + err = actual.AssignProperties_From_ClusterImageRegistryProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterImageRegistryProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile_STATUS, ClusterImageRegistryProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile_STATUS runs a test to see if a specific instance of ClusterImageRegistryProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile_STATUS(subject ClusterImageRegistryProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile_STATUS instances for property testing - lazily instantiated by +// ClusterImageRegistryProfile_STATUSGenerator() +var clusterImageRegistryProfile_STATUSGenerator gopter.Gen + +// ClusterImageRegistryProfile_STATUSGenerator returns a generator of ClusterImageRegistryProfile_STATUS instances for property testing. +func ClusterImageRegistryProfile_STATUSGenerator() gopter.Gen { + if clusterImageRegistryProfile_STATUSGenerator != nil { + return clusterImageRegistryProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(generators) + clusterImageRegistryProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile_STATUS{}), generators) + + return clusterImageRegistryProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.OneConstOf(ClusterImageRegistryProfile_State_STATUS_Disabled, ClusterImageRegistryProfile_State_STATUS_Enabled)) +} + +func Test_ConsoleProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ConsoleProfile_STATUS to ConsoleProfile_STATUS via AssignProperties_To_ConsoleProfile_STATUS & AssignProperties_From_ConsoleProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForConsoleProfile_STATUS, ConsoleProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForConsoleProfile_STATUS tests if a specific instance of ConsoleProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForConsoleProfile_STATUS(subject ConsoleProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ConsoleProfile_STATUS + err := copied.AssignProperties_To_ConsoleProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ConsoleProfile_STATUS + err = actual.AssignProperties_From_ConsoleProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ConsoleProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ConsoleProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConsoleProfile_STATUS, ConsoleProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConsoleProfile_STATUS runs a test to see if a specific instance of ConsoleProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConsoleProfile_STATUS(subject ConsoleProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ConsoleProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ConsoleProfile_STATUS instances for property testing - lazily instantiated by +// ConsoleProfile_STATUSGenerator() +var consoleProfile_STATUSGenerator gopter.Gen + +// ConsoleProfile_STATUSGenerator returns a generator of ConsoleProfile_STATUS instances for property testing. +func ConsoleProfile_STATUSGenerator() gopter.Gen { + if consoleProfile_STATUSGenerator != nil { + return consoleProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(generators) + consoleProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ConsoleProfile_STATUS{}), generators) + + return consoleProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConsoleProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(gens map[string]gopter.Gen) { + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomerManagedEncryptionProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomerManagedEncryptionProfile to CustomerManagedEncryptionProfile via AssignProperties_To_CustomerManagedEncryptionProfile & AssignProperties_From_CustomerManagedEncryptionProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomerManagedEncryptionProfile, CustomerManagedEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomerManagedEncryptionProfile tests if a specific instance of CustomerManagedEncryptionProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomerManagedEncryptionProfile(subject CustomerManagedEncryptionProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomerManagedEncryptionProfile + err := copied.AssignProperties_To_CustomerManagedEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomerManagedEncryptionProfile + err = actual.AssignProperties_From_CustomerManagedEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_CustomerManagedEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile, CustomerManagedEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile runs a test to see if a specific instance of CustomerManagedEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile(subject CustomerManagedEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfileGenerator() +var customerManagedEncryptionProfileGenerator gopter.Gen + +// CustomerManagedEncryptionProfileGenerator returns a generator of CustomerManagedEncryptionProfile instances for property testing. +// We first initialize customerManagedEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfileGenerator() gopter.Gen { + if customerManagedEncryptionProfileGenerator != nil { + return customerManagedEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + return customerManagedEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.OneConstOf(CustomerManagedEncryptionProfile_EncryptionType_KMS)) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfileGenerator()) +} + +func Test_CustomerManagedEncryptionProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomerManagedEncryptionProfile_STATUS to CustomerManagedEncryptionProfile_STATUS via AssignProperties_To_CustomerManagedEncryptionProfile_STATUS & AssignProperties_From_CustomerManagedEncryptionProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomerManagedEncryptionProfile_STATUS, CustomerManagedEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomerManagedEncryptionProfile_STATUS tests if a specific instance of CustomerManagedEncryptionProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomerManagedEncryptionProfile_STATUS(subject CustomerManagedEncryptionProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomerManagedEncryptionProfile_STATUS + err := copied.AssignProperties_To_CustomerManagedEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomerManagedEncryptionProfile_STATUS + err = actual.AssignProperties_From_CustomerManagedEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_CustomerManagedEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS, CustomerManagedEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS runs a test to see if a specific instance of CustomerManagedEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS(subject CustomerManagedEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfile_STATUSGenerator() +var customerManagedEncryptionProfile_STATUSGenerator gopter.Gen + +// CustomerManagedEncryptionProfile_STATUSGenerator returns a generator of CustomerManagedEncryptionProfile_STATUS instances for property testing. +// We first initialize customerManagedEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfile_STATUSGenerator() gopter.Gen { + if customerManagedEncryptionProfile_STATUSGenerator != nil { + return customerManagedEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + return customerManagedEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.OneConstOf(CustomerManagedEncryptionProfile_EncryptionType_STATUS_KMS)) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfile_STATUSGenerator()) +} + +func Test_DnsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DnsProfile to DnsProfile via AssignProperties_To_DnsProfile & AssignProperties_From_DnsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForDnsProfile, DnsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDnsProfile tests if a specific instance of DnsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDnsProfile(subject DnsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DnsProfile + err := copied.AssignProperties_To_DnsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DnsProfile + err = actual.AssignProperties_From_DnsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DnsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile, DnsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile runs a test to see if a specific instance of DnsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile(subject DnsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile instances for property testing - lazily instantiated by DnsProfileGenerator() +var dnsProfileGenerator gopter.Gen + +// DnsProfileGenerator returns a generator of DnsProfile instances for property testing. +func DnsProfileGenerator() gopter.Gen { + if dnsProfileGenerator != nil { + return dnsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile(generators) + dnsProfileGenerator = gen.Struct(reflect.TypeOf(DnsProfile{}), generators) + + return dnsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile(gens map[string]gopter.Gen) { + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DnsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DnsProfile_STATUS to DnsProfile_STATUS via AssignProperties_To_DnsProfile_STATUS & AssignProperties_From_DnsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDnsProfile_STATUS, DnsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDnsProfile_STATUS tests if a specific instance of DnsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDnsProfile_STATUS(subject DnsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DnsProfile_STATUS + err := copied.AssignProperties_To_DnsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DnsProfile_STATUS + err = actual.AssignProperties_From_DnsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DnsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile_STATUS, DnsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile_STATUS runs a test to see if a specific instance of DnsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile_STATUS(subject DnsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile_STATUS instances for property testing - lazily instantiated by DnsProfile_STATUSGenerator() +var dnsProfile_STATUSGenerator gopter.Gen + +// DnsProfile_STATUSGenerator returns a generator of DnsProfile_STATUS instances for property testing. +func DnsProfile_STATUSGenerator() gopter.Gen { + if dnsProfile_STATUSGenerator != nil { + return dnsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile_STATUS(generators) + dnsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(DnsProfile_STATUS{}), generators) + + return dnsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile_STATUS(gens map[string]gopter.Gen) { + gens["BaseDomain"] = gen.PtrOf(gen.AlphaString()) + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EtcdDataEncryptionProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EtcdDataEncryptionProfile to EtcdDataEncryptionProfile via AssignProperties_To_EtcdDataEncryptionProfile & AssignProperties_From_EtcdDataEncryptionProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForEtcdDataEncryptionProfile, EtcdDataEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEtcdDataEncryptionProfile tests if a specific instance of EtcdDataEncryptionProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEtcdDataEncryptionProfile(subject EtcdDataEncryptionProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EtcdDataEncryptionProfile + err := copied.AssignProperties_To_EtcdDataEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EtcdDataEncryptionProfile + err = actual.AssignProperties_From_EtcdDataEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_EtcdDataEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile, EtcdDataEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile runs a test to see if a specific instance of EtcdDataEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile(subject EtcdDataEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfileGenerator() +var etcdDataEncryptionProfileGenerator gopter.Gen + +// EtcdDataEncryptionProfileGenerator returns a generator of EtcdDataEncryptionProfile instances for property testing. +// We first initialize etcdDataEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfileGenerator() gopter.Gen { + if etcdDataEncryptionProfileGenerator != nil { + return etcdDataEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + return etcdDataEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.OneConstOf(EtcdDataEncryptionProfile_KeyManagementMode_CustomerManaged, EtcdDataEncryptionProfile_KeyManagementMode_PlatformManaged)) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfileGenerator()) +} + +func Test_EtcdDataEncryptionProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EtcdDataEncryptionProfile_STATUS to EtcdDataEncryptionProfile_STATUS via AssignProperties_To_EtcdDataEncryptionProfile_STATUS & AssignProperties_From_EtcdDataEncryptionProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForEtcdDataEncryptionProfile_STATUS, EtcdDataEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEtcdDataEncryptionProfile_STATUS tests if a specific instance of EtcdDataEncryptionProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEtcdDataEncryptionProfile_STATUS(subject EtcdDataEncryptionProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EtcdDataEncryptionProfile_STATUS + err := copied.AssignProperties_To_EtcdDataEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EtcdDataEncryptionProfile_STATUS + err = actual.AssignProperties_From_EtcdDataEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_EtcdDataEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS, EtcdDataEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS runs a test to see if a specific instance of EtcdDataEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS(subject EtcdDataEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfile_STATUSGenerator() +var etcdDataEncryptionProfile_STATUSGenerator gopter.Gen + +// EtcdDataEncryptionProfile_STATUSGenerator returns a generator of EtcdDataEncryptionProfile_STATUS instances for property testing. +// We first initialize etcdDataEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfile_STATUSGenerator() gopter.Gen { + if etcdDataEncryptionProfile_STATUSGenerator != nil { + return etcdDataEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + return etcdDataEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.OneConstOf(EtcdDataEncryptionProfile_KeyManagementMode_STATUS_CustomerManaged, EtcdDataEncryptionProfile_KeyManagementMode_STATUS_PlatformManaged)) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfile_STATUSGenerator()) +} + +func Test_EtcdProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EtcdProfile to EtcdProfile via AssignProperties_To_EtcdProfile & AssignProperties_From_EtcdProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForEtcdProfile, EtcdProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEtcdProfile tests if a specific instance of EtcdProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEtcdProfile(subject EtcdProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EtcdProfile + err := copied.AssignProperties_To_EtcdProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EtcdProfile + err = actual.AssignProperties_From_EtcdProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_EtcdProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile, EtcdProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile runs a test to see if a specific instance of EtcdProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile(subject EtcdProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile instances for property testing - lazily instantiated by EtcdProfileGenerator() +var etcdProfileGenerator gopter.Gen + +// EtcdProfileGenerator returns a generator of EtcdProfile instances for property testing. +func EtcdProfileGenerator() gopter.Gen { + if etcdProfileGenerator != nil { + return etcdProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile(generators) + etcdProfileGenerator = gen.Struct(reflect.TypeOf(EtcdProfile{}), generators) + + return etcdProfileGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfileGenerator()) +} + +func Test_EtcdProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EtcdProfile_STATUS to EtcdProfile_STATUS via AssignProperties_To_EtcdProfile_STATUS & AssignProperties_From_EtcdProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForEtcdProfile_STATUS, EtcdProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEtcdProfile_STATUS tests if a specific instance of EtcdProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEtcdProfile_STATUS(subject EtcdProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EtcdProfile_STATUS + err := copied.AssignProperties_To_EtcdProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EtcdProfile_STATUS + err = actual.AssignProperties_From_EtcdProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_EtcdProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile_STATUS, EtcdProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile_STATUS runs a test to see if a specific instance of EtcdProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile_STATUS(subject EtcdProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile_STATUS instances for property testing - lazily instantiated by EtcdProfile_STATUSGenerator() +var etcdProfile_STATUSGenerator gopter.Gen + +// EtcdProfile_STATUSGenerator returns a generator of EtcdProfile_STATUS instances for property testing. +func EtcdProfile_STATUSGenerator() gopter.Gen { + if etcdProfile_STATUSGenerator != nil { + return etcdProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(generators) + etcdProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdProfile_STATUS{}), generators) + + return etcdProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftCluster to hub returns original", + prop.ForAll(RunResourceConversionTestForHcpOpenShiftCluster, HcpOpenShiftClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForHcpOpenShiftCluster tests if a specific instance of HcpOpenShiftCluster round trips to the hub storage version and back losslessly +func RunResourceConversionTestForHcpOpenShiftCluster(subject HcpOpenShiftCluster) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.HcpOpenShiftCluster + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual HcpOpenShiftCluster + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftCluster_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftCluster to HcpOpenShiftCluster via AssignProperties_To_HcpOpenShiftCluster & AssignProperties_From_HcpOpenShiftCluster returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftCluster, HcpOpenShiftClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftCluster tests if a specific instance of HcpOpenShiftCluster can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftCluster(subject HcpOpenShiftCluster) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftCluster + err := copied.AssignProperties_To_HcpOpenShiftCluster(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftCluster + err = actual.AssignProperties_From_HcpOpenShiftCluster(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftCluster_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster, HcpOpenShiftClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster runs a test to see if a specific instance of HcpOpenShiftCluster round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster(subject HcpOpenShiftCluster) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster instances for property testing - lazily instantiated by +// HcpOpenShiftClusterGenerator() +var hcpOpenShiftClusterGenerator gopter.Gen + +// HcpOpenShiftClusterGenerator returns a generator of HcpOpenShiftCluster instances for property testing. +func HcpOpenShiftClusterGenerator() gopter.Gen { + if hcpOpenShiftClusterGenerator != nil { + return hcpOpenShiftClusterGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster(generators) + hcpOpenShiftClusterGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster{}), generators) + + return hcpOpenShiftClusterGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftCluster_SpecGenerator() + gens["Status"] = HcpOpenShiftCluster_STATUSGenerator() +} + +func Test_HcpOpenShiftClusterOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClusterOperatorSecrets to HcpOpenShiftClusterOperatorSecrets via AssignProperties_To_HcpOpenShiftClusterOperatorSecrets & AssignProperties_From_HcpOpenShiftClusterOperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSecrets, HcpOpenShiftClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSecrets tests if a specific instance of HcpOpenShiftClusterOperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSecrets(subject HcpOpenShiftClusterOperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClusterOperatorSecrets + err := copied.AssignProperties_To_HcpOpenShiftClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClusterOperatorSecrets + err = actual.AssignProperties_From_HcpOpenShiftClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClusterOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets, HcpOpenShiftClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets runs a test to see if a specific instance of HcpOpenShiftClusterOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets(subject HcpOpenShiftClusterOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterOperatorSecrets instances for property testing - lazily instantiated by +// HcpOpenShiftClusterOperatorSecretsGenerator() +var hcpOpenShiftClusterOperatorSecretsGenerator gopter.Gen + +// HcpOpenShiftClusterOperatorSecretsGenerator returns a generator of HcpOpenShiftClusterOperatorSecrets instances for property testing. +func HcpOpenShiftClusterOperatorSecretsGenerator() gopter.Gen { + if hcpOpenShiftClusterOperatorSecretsGenerator != nil { + return hcpOpenShiftClusterOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClusterOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterOperatorSecrets{}), generators) + + return hcpOpenShiftClusterOperatorSecretsGenerator +} + +func Test_HcpOpenShiftClusterOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClusterOperatorSpec to HcpOpenShiftClusterOperatorSpec via AssignProperties_To_HcpOpenShiftClusterOperatorSpec & AssignProperties_From_HcpOpenShiftClusterOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSpec, HcpOpenShiftClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSpec tests if a specific instance of HcpOpenShiftClusterOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClusterOperatorSpec(subject HcpOpenShiftClusterOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClusterOperatorSpec + err := copied.AssignProperties_To_HcpOpenShiftClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClusterOperatorSpec + err = actual.AssignProperties_From_HcpOpenShiftClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClusterOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec, HcpOpenShiftClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClusterOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec(subject HcpOpenShiftClusterOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClusterOperatorSpecGenerator() +var hcpOpenShiftClusterOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClusterOperatorSpecGenerator returns a generator of HcpOpenShiftClusterOperatorSpec instances for property testing. +func HcpOpenShiftClusterOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClusterOperatorSpecGenerator != nil { + return hcpOpenShiftClusterOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec(generators) + hcpOpenShiftClusterOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterOperatorSpec{}), generators) + + return hcpOpenShiftClusterOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.PtrOf(HcpOpenShiftClusterOperatorSecretsGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClusterProperties to HcpOpenShiftClusterProperties via AssignProperties_To_HcpOpenShiftClusterProperties & AssignProperties_From_HcpOpenShiftClusterProperties returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClusterProperties, HcpOpenShiftClusterPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClusterProperties tests if a specific instance of HcpOpenShiftClusterProperties can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClusterProperties(subject HcpOpenShiftClusterProperties) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClusterProperties + err := copied.AssignProperties_To_HcpOpenShiftClusterProperties(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClusterProperties + err = actual.AssignProperties_From_HcpOpenShiftClusterProperties(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClusterProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties, HcpOpenShiftClusterPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties runs a test to see if a specific instance of HcpOpenShiftClusterProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties(subject HcpOpenShiftClusterProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties instances for property testing - lazily instantiated by +// HcpOpenShiftClusterPropertiesGenerator() +var hcpOpenShiftClusterPropertiesGenerator gopter.Gen + +// HcpOpenShiftClusterPropertiesGenerator returns a generator of HcpOpenShiftClusterProperties instances for property testing. +// We first initialize hcpOpenShiftClusterPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterPropertiesGenerator() gopter.Gen { + if hcpOpenShiftClusterPropertiesGenerator != nil { + return hcpOpenShiftClusterPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + return hcpOpenShiftClusterPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfileGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfileGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfileGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfileGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfileGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfileGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfileGenerator()) + gens["Version"] = gen.PtrOf(VersionProfileGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClusterProperties_STATUS to HcpOpenShiftClusterProperties_STATUS via AssignProperties_To_HcpOpenShiftClusterProperties_STATUS & AssignProperties_From_HcpOpenShiftClusterProperties_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClusterProperties_STATUS, HcpOpenShiftClusterProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClusterProperties_STATUS tests if a specific instance of HcpOpenShiftClusterProperties_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClusterProperties_STATUS(subject HcpOpenShiftClusterProperties_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClusterProperties_STATUS + err := copied.AssignProperties_To_HcpOpenShiftClusterProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClusterProperties_STATUS + err = actual.AssignProperties_From_HcpOpenShiftClusterProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClusterProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS, HcpOpenShiftClusterProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS runs a test to see if a specific instance of HcpOpenShiftClusterProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS(subject HcpOpenShiftClusterProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClusterProperties_STATUSGenerator() +var hcpOpenShiftClusterProperties_STATUSGenerator gopter.Gen + +// HcpOpenShiftClusterProperties_STATUSGenerator returns a generator of HcpOpenShiftClusterProperties_STATUS instances for property testing. +// We first initialize hcpOpenShiftClusterProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterProperties_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClusterProperties_STATUSGenerator != nil { + return hcpOpenShiftClusterProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + return hcpOpenShiftClusterProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_Accepted, + ProvisioningState_STATUS_Canceled, + ProvisioningState_STATUS_Deleting, + ProvisioningState_STATUS_Failed, + ProvisioningState_STATUS_Provisioning, + ProvisioningState_STATUS_Succeeded, + ProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfile_STATUSGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfile_STATUSGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfile_STATUSGenerator()) + gens["Console"] = gen.PtrOf(ConsoleProfile_STATUSGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfile_STATUSGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfile_STATUSGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfile_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfile_STATUSGenerator()) + gens["Version"] = gen.PtrOf(VersionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftCluster_STATUS to HcpOpenShiftCluster_STATUS via AssignProperties_To_HcpOpenShiftCluster_STATUS & AssignProperties_From_HcpOpenShiftCluster_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftCluster_STATUS, HcpOpenShiftCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftCluster_STATUS tests if a specific instance of HcpOpenShiftCluster_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftCluster_STATUS(subject HcpOpenShiftCluster_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftCluster_STATUS + err := copied.AssignProperties_To_HcpOpenShiftCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftCluster_STATUS + err = actual.AssignProperties_From_HcpOpenShiftCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_STATUS, HcpOpenShiftCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_STATUS runs a test to see if a specific instance of HcpOpenShiftCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_STATUS(subject HcpOpenShiftCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_STATUSGenerator() +var hcpOpenShiftCluster_STATUSGenerator gopter.Gen + +// HcpOpenShiftCluster_STATUSGenerator returns a generator of HcpOpenShiftCluster_STATUS instances for property testing. +// We first initialize hcpOpenShiftCluster_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_STATUSGenerator() gopter.Gen { + if hcpOpenShiftCluster_STATUSGenerator != nil { + return hcpOpenShiftCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + return hcpOpenShiftCluster_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftCluster_Spec to HcpOpenShiftCluster_Spec via AssignProperties_To_HcpOpenShiftCluster_Spec & AssignProperties_From_HcpOpenShiftCluster_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftCluster_Spec, HcpOpenShiftCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftCluster_Spec tests if a specific instance of HcpOpenShiftCluster_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftCluster_Spec(subject HcpOpenShiftCluster_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftCluster_Spec + err := copied.AssignProperties_To_HcpOpenShiftCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftCluster_Spec + err = actual.AssignProperties_From_HcpOpenShiftCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_Spec, HcpOpenShiftCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_Spec runs a test to see if a specific instance of HcpOpenShiftCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_Spec(subject HcpOpenShiftCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_SpecGenerator() +var hcpOpenShiftCluster_SpecGenerator gopter.Gen + +// HcpOpenShiftCluster_SpecGenerator returns a generator of HcpOpenShiftCluster_Spec instances for property testing. +// We first initialize hcpOpenShiftCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_SpecGenerator() gopter.Gen { + if hcpOpenShiftCluster_SpecGenerator != nil { + return hcpOpenShiftCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + return hcpOpenShiftCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClusterOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterPropertiesGenerator()) +} + +func Test_KmsEncryptionProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KmsEncryptionProfile to KmsEncryptionProfile via AssignProperties_To_KmsEncryptionProfile & AssignProperties_From_KmsEncryptionProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForKmsEncryptionProfile, KmsEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKmsEncryptionProfile tests if a specific instance of KmsEncryptionProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKmsEncryptionProfile(subject KmsEncryptionProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KmsEncryptionProfile + err := copied.AssignProperties_To_KmsEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KmsEncryptionProfile + err = actual.AssignProperties_From_KmsEncryptionProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KmsEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile, KmsEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile runs a test to see if a specific instance of KmsEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile(subject KmsEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile instances for property testing - lazily instantiated by +// KmsEncryptionProfileGenerator() +var kmsEncryptionProfileGenerator gopter.Gen + +// KmsEncryptionProfileGenerator returns a generator of KmsEncryptionProfile instances for property testing. +func KmsEncryptionProfileGenerator() gopter.Gen { + if kmsEncryptionProfileGenerator != nil { + return kmsEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile(generators) + kmsEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile{}), generators) + + return kmsEncryptionProfileGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKeyGenerator()) +} + +func Test_KmsEncryptionProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KmsEncryptionProfile_STATUS to KmsEncryptionProfile_STATUS via AssignProperties_To_KmsEncryptionProfile_STATUS & AssignProperties_From_KmsEncryptionProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForKmsEncryptionProfile_STATUS, KmsEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKmsEncryptionProfile_STATUS tests if a specific instance of KmsEncryptionProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKmsEncryptionProfile_STATUS(subject KmsEncryptionProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KmsEncryptionProfile_STATUS + err := copied.AssignProperties_To_KmsEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KmsEncryptionProfile_STATUS + err = actual.AssignProperties_From_KmsEncryptionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KmsEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile_STATUS, KmsEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile_STATUS runs a test to see if a specific instance of KmsEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile_STATUS(subject KmsEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// KmsEncryptionProfile_STATUSGenerator() +var kmsEncryptionProfile_STATUSGenerator gopter.Gen + +// KmsEncryptionProfile_STATUSGenerator returns a generator of KmsEncryptionProfile_STATUS instances for property testing. +func KmsEncryptionProfile_STATUSGenerator() gopter.Gen { + if kmsEncryptionProfile_STATUSGenerator != nil { + return kmsEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(generators) + kmsEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile_STATUS{}), generators) + + return kmsEncryptionProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKey_STATUSGenerator()) +} + +func Test_KmsKey_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KmsKey to KmsKey via AssignProperties_To_KmsKey & AssignProperties_From_KmsKey returns original", + prop.ForAll(RunPropertyAssignmentTestForKmsKey, KmsKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKmsKey tests if a specific instance of KmsKey can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKmsKey(subject KmsKey) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KmsKey + err := copied.AssignProperties_To_KmsKey(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KmsKey + err = actual.AssignProperties_From_KmsKey(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KmsKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey, KmsKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey runs a test to see if a specific instance of KmsKey round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey(subject KmsKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey instances for property testing - lazily instantiated by KmsKeyGenerator() +var kmsKeyGenerator gopter.Gen + +// KmsKeyGenerator returns a generator of KmsKey instances for property testing. +func KmsKeyGenerator() gopter.Gen { + if kmsKeyGenerator != nil { + return kmsKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey(generators) + kmsKeyGenerator = gen.Struct(reflect.TypeOf(KmsKey{}), generators) + + return kmsKeyGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KmsKey_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KmsKey_STATUS to KmsKey_STATUS via AssignProperties_To_KmsKey_STATUS & AssignProperties_From_KmsKey_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForKmsKey_STATUS, KmsKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKmsKey_STATUS tests if a specific instance of KmsKey_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKmsKey_STATUS(subject KmsKey_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KmsKey_STATUS + err := copied.AssignProperties_To_KmsKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KmsKey_STATUS + err = actual.AssignProperties_From_KmsKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KmsKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey_STATUS, KmsKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey_STATUS runs a test to see if a specific instance of KmsKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey_STATUS(subject KmsKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey_STATUS instances for property testing - lazily instantiated by KmsKey_STATUSGenerator() +var kmsKey_STATUSGenerator gopter.Gen + +// KmsKey_STATUSGenerator returns a generator of KmsKey_STATUS instances for property testing. +func KmsKey_STATUSGenerator() gopter.Gen { + if kmsKey_STATUSGenerator != nil { + return kmsKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey_STATUS(generators) + kmsKey_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsKey_STATUS{}), generators) + + return kmsKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedServiceIdentity to ManagedServiceIdentity via AssignProperties_To_ManagedServiceIdentity & AssignProperties_From_ManagedServiceIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedServiceIdentity tests if a specific instance of ManagedServiceIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedServiceIdentity + err := copied.AssignProperties_To_ManagedServiceIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedServiceIdentity + err = actual.AssignProperties_From_ManagedServiceIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedServiceIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_None, + ManagedServiceIdentityType_SystemAssigned, + ManagedServiceIdentityType_SystemAssignedUserAssigned, + ManagedServiceIdentityType_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedServiceIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedServiceIdentity_STATUS to ManagedServiceIdentity_STATUS via AssignProperties_To_ManagedServiceIdentity_STATUS & AssignProperties_From_ManagedServiceIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedServiceIdentity_STATUS tests if a specific instance of ManagedServiceIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedServiceIdentity_STATUS + err := copied.AssignProperties_To_ManagedServiceIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedServiceIdentity_STATUS + err = actual.AssignProperties_From_ManagedServiceIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedServiceIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_STATUS_None, + ManagedServiceIdentityType_STATUS_SystemAssigned, + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + ManagedServiceIdentityType_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_NetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NetworkProfile to NetworkProfile via AssignProperties_To_NetworkProfile & AssignProperties_From_NetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForNetworkProfile, NetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetworkProfile tests if a specific instance of NetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetworkProfile(subject NetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NetworkProfile + err := copied.AssignProperties_To_NetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NetworkProfile + err = actual.AssignProperties_From_NetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile, NetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile runs a test to see if a specific instance of NetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile(subject NetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile instances for property testing - lazily instantiated by NetworkProfileGenerator() +var networkProfileGenerator gopter.Gen + +// NetworkProfileGenerator returns a generator of NetworkProfile instances for property testing. +func NetworkProfileGenerator() gopter.Gen { + if networkProfileGenerator != nil { + return networkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile(generators) + networkProfileGenerator = gen.Struct(reflect.TypeOf(NetworkProfile{}), generators) + + return networkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.OneConstOf(NetworkProfile_NetworkType_OVNKubernetes, NetworkProfile_NetworkType_Other)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NetworkProfile_STATUS to NetworkProfile_STATUS via AssignProperties_To_NetworkProfile_STATUS & AssignProperties_From_NetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNetworkProfile_STATUS, NetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetworkProfile_STATUS tests if a specific instance of NetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetworkProfile_STATUS(subject NetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NetworkProfile_STATUS + err := copied.AssignProperties_To_NetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NetworkProfile_STATUS + err = actual.AssignProperties_From_NetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile_STATUS, NetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile_STATUS runs a test to see if a specific instance of NetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile_STATUS(subject NetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile_STATUS instances for property testing - lazily instantiated by +// NetworkProfile_STATUSGenerator() +var networkProfile_STATUSGenerator gopter.Gen + +// NetworkProfile_STATUSGenerator returns a generator of NetworkProfile_STATUS instances for property testing. +func NetworkProfile_STATUSGenerator() gopter.Gen { + if networkProfile_STATUSGenerator != nil { + return networkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(generators) + networkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NetworkProfile_STATUS{}), generators) + + return networkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.OneConstOf(NetworkProfile_NetworkType_STATUS_OVNKubernetes, NetworkProfile_NetworkType_STATUS_Other)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OperatorsAuthenticationProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OperatorsAuthenticationProfile to OperatorsAuthenticationProfile via AssignProperties_To_OperatorsAuthenticationProfile & AssignProperties_From_OperatorsAuthenticationProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForOperatorsAuthenticationProfile, OperatorsAuthenticationProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOperatorsAuthenticationProfile tests if a specific instance of OperatorsAuthenticationProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOperatorsAuthenticationProfile(subject OperatorsAuthenticationProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OperatorsAuthenticationProfile + err := copied.AssignProperties_To_OperatorsAuthenticationProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OperatorsAuthenticationProfile + err = actual.AssignProperties_From_OperatorsAuthenticationProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_OperatorsAuthenticationProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile, OperatorsAuthenticationProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile runs a test to see if a specific instance of OperatorsAuthenticationProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile(subject OperatorsAuthenticationProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfileGenerator() +var operatorsAuthenticationProfileGenerator gopter.Gen + +// OperatorsAuthenticationProfileGenerator returns a generator of OperatorsAuthenticationProfile instances for property testing. +func OperatorsAuthenticationProfileGenerator() gopter.Gen { + if operatorsAuthenticationProfileGenerator != nil { + return operatorsAuthenticationProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(generators) + operatorsAuthenticationProfileGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile{}), generators) + + return operatorsAuthenticationProfileGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfileGenerator()) +} + +func Test_OperatorsAuthenticationProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OperatorsAuthenticationProfile_STATUS to OperatorsAuthenticationProfile_STATUS via AssignProperties_To_OperatorsAuthenticationProfile_STATUS & AssignProperties_From_OperatorsAuthenticationProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOperatorsAuthenticationProfile_STATUS, OperatorsAuthenticationProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOperatorsAuthenticationProfile_STATUS tests if a specific instance of OperatorsAuthenticationProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOperatorsAuthenticationProfile_STATUS(subject OperatorsAuthenticationProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OperatorsAuthenticationProfile_STATUS + err := copied.AssignProperties_To_OperatorsAuthenticationProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OperatorsAuthenticationProfile_STATUS + err = actual.AssignProperties_From_OperatorsAuthenticationProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_OperatorsAuthenticationProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS, OperatorsAuthenticationProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS runs a test to see if a specific instance of OperatorsAuthenticationProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS(subject OperatorsAuthenticationProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile_STATUS instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfile_STATUSGenerator() +var operatorsAuthenticationProfile_STATUSGenerator gopter.Gen + +// OperatorsAuthenticationProfile_STATUSGenerator returns a generator of OperatorsAuthenticationProfile_STATUS instances for property testing. +func OperatorsAuthenticationProfile_STATUSGenerator() gopter.Gen { + if operatorsAuthenticationProfile_STATUSGenerator != nil { + return operatorsAuthenticationProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(generators) + operatorsAuthenticationProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile_STATUS{}), generators) + + return operatorsAuthenticationProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfile_STATUSGenerator()) +} + +func Test_PlatformProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PlatformProfile to PlatformProfile via AssignProperties_To_PlatformProfile & AssignProperties_From_PlatformProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForPlatformProfile, PlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPlatformProfile tests if a specific instance of PlatformProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPlatformProfile(subject PlatformProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PlatformProfile + err := copied.AssignProperties_To_PlatformProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PlatformProfile + err = actual.AssignProperties_From_PlatformProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile, PlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile runs a test to see if a specific instance of PlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile(subject PlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile instances for property testing - lazily instantiated by PlatformProfileGenerator() +var platformProfileGenerator gopter.Gen + +// PlatformProfileGenerator returns a generator of PlatformProfile instances for property testing. +// We first initialize platformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfileGenerator() gopter.Gen { + if platformProfileGenerator != nil { + return platformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + AddRelatedPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + return platformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf(PlatformProfile_OutboundType_LoadBalancer)) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfileGenerator()) +} + +func Test_PlatformProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PlatformProfile_STATUS to PlatformProfile_STATUS via AssignProperties_To_PlatformProfile_STATUS & AssignProperties_From_PlatformProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPlatformProfile_STATUS, PlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPlatformProfile_STATUS tests if a specific instance of PlatformProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPlatformProfile_STATUS(subject PlatformProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PlatformProfile_STATUS + err := copied.AssignProperties_To_PlatformProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PlatformProfile_STATUS + err = actual.AssignProperties_From_PlatformProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile_STATUS, PlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile_STATUS runs a test to see if a specific instance of PlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile_STATUS(subject PlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile_STATUS instances for property testing - lazily instantiated by +// PlatformProfile_STATUSGenerator() +var platformProfile_STATUSGenerator gopter.Gen + +// PlatformProfile_STATUSGenerator returns a generator of PlatformProfile_STATUS instances for property testing. +// We first initialize platformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfile_STATUSGenerator() gopter.Gen { + if platformProfile_STATUSGenerator != nil { + return platformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + return platformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["IssuerUrl"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkSecurityGroupId"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf(PlatformProfile_OutboundType_STATUS_LoadBalancer)) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfile_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_UserAssignedIdentitiesProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentitiesProfile to UserAssignedIdentitiesProfile via AssignProperties_To_UserAssignedIdentitiesProfile & AssignProperties_From_UserAssignedIdentitiesProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentitiesProfile, UserAssignedIdentitiesProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentitiesProfile tests if a specific instance of UserAssignedIdentitiesProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentitiesProfile(subject UserAssignedIdentitiesProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentitiesProfile + err := copied.AssignProperties_To_UserAssignedIdentitiesProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentitiesProfile + err = actual.AssignProperties_From_UserAssignedIdentitiesProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentitiesProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile, UserAssignedIdentitiesProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile runs a test to see if a specific instance of UserAssignedIdentitiesProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile(subject UserAssignedIdentitiesProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfileGenerator() +var userAssignedIdentitiesProfileGenerator gopter.Gen + +// UserAssignedIdentitiesProfileGenerator returns a generator of UserAssignedIdentitiesProfile instances for property testing. +func UserAssignedIdentitiesProfileGenerator() gopter.Gen { + if userAssignedIdentitiesProfileGenerator != nil { + return userAssignedIdentitiesProfileGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentitiesProfileGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile{}), generators) + + return userAssignedIdentitiesProfileGenerator +} + +func Test_UserAssignedIdentitiesProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentitiesProfile_STATUS to UserAssignedIdentitiesProfile_STATUS via AssignProperties_To_UserAssignedIdentitiesProfile_STATUS & AssignProperties_From_UserAssignedIdentitiesProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentitiesProfile_STATUS, UserAssignedIdentitiesProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentitiesProfile_STATUS tests if a specific instance of UserAssignedIdentitiesProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentitiesProfile_STATUS(subject UserAssignedIdentitiesProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentitiesProfile_STATUS + err := copied.AssignProperties_To_UserAssignedIdentitiesProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentitiesProfile_STATUS + err = actual.AssignProperties_From_UserAssignedIdentitiesProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentitiesProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS, UserAssignedIdentitiesProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS runs a test to see if a specific instance of UserAssignedIdentitiesProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS(subject UserAssignedIdentitiesProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfile_STATUSGenerator() +var userAssignedIdentitiesProfile_STATUSGenerator gopter.Gen + +// UserAssignedIdentitiesProfile_STATUSGenerator returns a generator of UserAssignedIdentitiesProfile_STATUS instances for property testing. +func UserAssignedIdentitiesProfile_STATUSGenerator() gopter.Gen { + if userAssignedIdentitiesProfile_STATUSGenerator != nil { + return userAssignedIdentitiesProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(generators) + userAssignedIdentitiesProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile_STATUS{}), generators) + + return userAssignedIdentitiesProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(gens map[string]gopter.Gen) { + gens["ControlPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["DataPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ServiceManagedIdentity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentityDetails to UserAssignedIdentityDetails via AssignProperties_To_UserAssignedIdentityDetails & AssignProperties_From_UserAssignedIdentityDetails returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentityDetails tests if a specific instance of UserAssignedIdentityDetails can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentityDetails + err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentityDetails + err = actual.AssignProperties_From_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_UserAssignedIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity_STATUS to UserAssignedIdentity_STATUS via AssignProperties_To_UserAssignedIdentity_STATUS & AssignProperties_From_UserAssignedIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity_STATUS tests if a specific instance of UserAssignedIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentity_STATUS + err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity_STATUS + err = actual.AssignProperties_From_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VersionProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VersionProfile to VersionProfile via AssignProperties_To_VersionProfile & AssignProperties_From_VersionProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForVersionProfile, VersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVersionProfile tests if a specific instance of VersionProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVersionProfile(subject VersionProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.VersionProfile + err := copied.AssignProperties_To_VersionProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VersionProfile + err = actual.AssignProperties_From_VersionProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_VersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile, VersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile runs a test to see if a specific instance of VersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile(subject VersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile instances for property testing - lazily instantiated by VersionProfileGenerator() +var versionProfileGenerator gopter.Gen + +// VersionProfileGenerator returns a generator of VersionProfile instances for property testing. +func VersionProfileGenerator() gopter.Gen { + if versionProfileGenerator != nil { + return versionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile(generators) + versionProfileGenerator = gen.Struct(reflect.TypeOf(VersionProfile{}), generators) + + return versionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VersionProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VersionProfile_STATUS to VersionProfile_STATUS via AssignProperties_To_VersionProfile_STATUS & AssignProperties_From_VersionProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForVersionProfile_STATUS, VersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVersionProfile_STATUS tests if a specific instance of VersionProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVersionProfile_STATUS(subject VersionProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.VersionProfile_STATUS + err := copied.AssignProperties_To_VersionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VersionProfile_STATUS + err = actual.AssignProperties_From_VersionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_VersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile_STATUS, VersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile_STATUS runs a test to see if a specific instance of VersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile_STATUS(subject VersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile_STATUS instances for property testing - lazily instantiated by +// VersionProfile_STATUSGenerator() +var versionProfile_STATUSGenerator gopter.Gen + +// VersionProfile_STATUSGenerator returns a generator of VersionProfile_STATUS instances for property testing. +func VersionProfile_STATUSGenerator() gopter.Gen { + if versionProfile_STATUSGenerator != nil { + return versionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile_STATUS(generators) + versionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(VersionProfile_STATUS{}), generators) + + return versionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen.go new file mode 100644 index 00000000000..d364b3cff7a --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen.go @@ -0,0 +1,4017 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/arm" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} +type HcpOpenShiftClustersExternalAuth struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftClustersExternalAuth_Spec `json:"spec,omitempty"` + Status HcpOpenShiftClustersExternalAuth_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftClustersExternalAuth{} + +// GetConditions returns the conditions of the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetConditions() conditions.Conditions { + return auth.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (auth *HcpOpenShiftClustersExternalAuth) SetConditions(conditions conditions.Conditions) { + auth.Status.Conditions = conditions +} + +var _ conversion.Convertible = &HcpOpenShiftClustersExternalAuth{} + +// ConvertFrom populates our HcpOpenShiftClustersExternalAuth from the provided hub HcpOpenShiftClustersExternalAuth +func (auth *HcpOpenShiftClustersExternalAuth) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.HcpOpenShiftClustersExternalAuth) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftClustersExternalAuth but received %T instead", hub) + } + + return auth.AssignProperties_From_HcpOpenShiftClustersExternalAuth(source) +} + +// ConvertTo populates the provided hub HcpOpenShiftClustersExternalAuth from our HcpOpenShiftClustersExternalAuth +func (auth *HcpOpenShiftClustersExternalAuth) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.HcpOpenShiftClustersExternalAuth) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftClustersExternalAuth but received %T instead", hub) + } + + return auth.AssignProperties_To_HcpOpenShiftClustersExternalAuth(destination) +} + +var _ configmaps.Exporter = &HcpOpenShiftClustersExternalAuth{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (auth *HcpOpenShiftClustersExternalAuth) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if auth.Spec.OperatorSpec == nil { + return nil + } + return auth.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftClustersExternalAuth{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (auth *HcpOpenShiftClustersExternalAuth) SecretDestinationExpressions() []*core.DestinationExpression { + if auth.Spec.OperatorSpec == nil { + return nil + } + return auth.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &HcpOpenShiftClustersExternalAuth{} + +// InitializeSpec initializes the spec for this resource from the given status +func (auth *HcpOpenShiftClustersExternalAuth) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*HcpOpenShiftClustersExternalAuth_STATUS); ok { + return auth.Spec.Initialize_From_HcpOpenShiftClustersExternalAuth_STATUS(s) + } + + return fmt.Errorf("expected Status of type HcpOpenShiftClustersExternalAuth_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftClustersExternalAuth{} + +// AzureName returns the Azure name of the resource +func (auth *HcpOpenShiftClustersExternalAuth) AzureName() string { + return auth.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (auth HcpOpenShiftClustersExternalAuth) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (auth *HcpOpenShiftClustersExternalAuth) GetSpec() genruntime.ConvertibleSpec { + return &auth.Spec +} + +// GetStatus returns the status of this resource +func (auth *HcpOpenShiftClustersExternalAuth) GetStatus() genruntime.ConvertibleStatus { + return &auth.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +func (auth *HcpOpenShiftClustersExternalAuth) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +} + +// NewEmptyStatus returns a new empty (blank) status +func (auth *HcpOpenShiftClustersExternalAuth) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftClustersExternalAuth_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (auth *HcpOpenShiftClustersExternalAuth) Owner() *genruntime.ResourceReference { + if auth.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(auth.Spec) + return auth.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (auth *HcpOpenShiftClustersExternalAuth) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftClustersExternalAuth_STATUS); ok { + auth.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftClustersExternalAuth_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + auth.Status = st + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersExternalAuth populates our HcpOpenShiftClustersExternalAuth from the provided source HcpOpenShiftClustersExternalAuth +func (auth *HcpOpenShiftClustersExternalAuth) AssignProperties_From_HcpOpenShiftClustersExternalAuth(source *storage.HcpOpenShiftClustersExternalAuth) error { + + // ObjectMeta + auth.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec HcpOpenShiftClustersExternalAuth_Spec + err := spec.AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec() to populate field Spec") + } + auth.Spec = spec + + // Status + var status HcpOpenShiftClustersExternalAuth_STATUS + err = status.AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS() to populate field Status") + } + auth.Status = status + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersExternalAuth populates the provided destination HcpOpenShiftClustersExternalAuth from our HcpOpenShiftClustersExternalAuth +func (auth *HcpOpenShiftClustersExternalAuth) AssignProperties_To_HcpOpenShiftClustersExternalAuth(destination *storage.HcpOpenShiftClustersExternalAuth) error { + + // ObjectMeta + destination.ObjectMeta = *auth.ObjectMeta.DeepCopy() + + // Spec + var spec storage.HcpOpenShiftClustersExternalAuth_Spec + err := auth.Spec.AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.HcpOpenShiftClustersExternalAuth_STATUS + err = auth.Status.AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (auth *HcpOpenShiftClustersExternalAuth) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: auth.Spec.OriginalVersion(), + Kind: "HcpOpenShiftClustersExternalAuth", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} +type HcpOpenShiftClustersExternalAuthList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftClustersExternalAuth `json:"items"` +} + +type HcpOpenShiftClustersExternalAuth_Spec struct { + // +kubebuilder:validation:Pattern="^[a-zA-Z][-a-zA-Z0-9]{1,15}$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *HcpOpenShiftClustersExternalAuthOperatorSpec `json:"operatorSpec,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + Owner *genruntime.KnownResourceReference `group:"redhatopenshift.azure.com" json:"owner,omitempty" kind:"HcpOpenShiftCluster"` + + // Properties: The resource-specific properties for this resource. + Properties *ExternalAuthProperties `json:"properties,omitempty"` +} + +var _ genruntime.ARMTransformer = &HcpOpenShiftClustersExternalAuth_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (auth *HcpOpenShiftClustersExternalAuth_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if auth == nil { + return nil, nil + } + result := &arm.HcpOpenShiftClustersExternalAuth_Spec{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if auth.Properties != nil { + properties_ARM, err := auth.Properties.ConvertToARM(resolved) + if err != nil { + return nil, err + } + properties := *properties_ARM.(*arm.ExternalAuthProperties) + result.Properties = &properties + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (auth *HcpOpenShiftClustersExternalAuth_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClustersExternalAuth_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (auth *HcpOpenShiftClustersExternalAuth_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClustersExternalAuth_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClustersExternalAuth_Spec, got %T", armInput) + } + + // Set property "AzureName": + auth.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + auth.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 ExternalAuthProperties + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + auth.Properties = &properties + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftClustersExternalAuth_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftClustersExternalAuth_Spec from the provided source +func (auth *HcpOpenShiftClustersExternalAuth_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.HcpOpenShiftClustersExternalAuth_Spec) + if ok { + // Populate our instance from source + return auth.AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftClustersExternalAuth_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = auth.AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftClustersExternalAuth_Spec +func (auth *HcpOpenShiftClustersExternalAuth_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.HcpOpenShiftClustersExternalAuth_Spec) + if ok { + // Populate destination from our instance + return auth.AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftClustersExternalAuth_Spec{} + err := auth.AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec populates our HcpOpenShiftClustersExternalAuth_Spec from the provided source HcpOpenShiftClustersExternalAuth_Spec +func (auth *HcpOpenShiftClustersExternalAuth_Spec) AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec(source *storage.HcpOpenShiftClustersExternalAuth_Spec) error { + + // AzureName + auth.AzureName = source.AzureName + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec HcpOpenShiftClustersExternalAuthOperatorSpec + err := operatorSpec.AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec() to populate field OperatorSpec") + } + auth.OperatorSpec = &operatorSpec + } else { + auth.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + auth.Owner = &owner + } else { + auth.Owner = nil + } + + // Properties + if source.Properties != nil { + var property ExternalAuthProperties + err := property.AssignProperties_From_ExternalAuthProperties(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthProperties() to populate field Properties") + } + auth.Properties = &property + } else { + auth.Properties = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec populates the provided destination HcpOpenShiftClustersExternalAuth_Spec from our HcpOpenShiftClustersExternalAuth_Spec +func (auth *HcpOpenShiftClustersExternalAuth_Spec) AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec(destination *storage.HcpOpenShiftClustersExternalAuth_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = auth.AzureName + + // OperatorSpec + if auth.OperatorSpec != nil { + var operatorSpec storage.HcpOpenShiftClustersExternalAuthOperatorSpec + err := auth.OperatorSpec.AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = auth.OriginalVersion() + + // Owner + if auth.Owner != nil { + owner := auth.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Properties + if auth.Properties != nil { + var property storage.ExternalAuthProperties + err := auth.Properties.AssignProperties_To_ExternalAuthProperties(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthProperties() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HcpOpenShiftClustersExternalAuth_STATUS populates our HcpOpenShiftClustersExternalAuth_Spec from the provided source HcpOpenShiftClustersExternalAuth_STATUS +func (auth *HcpOpenShiftClustersExternalAuth_Spec) Initialize_From_HcpOpenShiftClustersExternalAuth_STATUS(source *HcpOpenShiftClustersExternalAuth_STATUS) error { + + // Properties + if source.Properties != nil { + var property ExternalAuthProperties + err := property.Initialize_From_ExternalAuthProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ExternalAuthProperties_STATUS() to populate field Properties") + } + auth.Properties = &property + } else { + auth.Properties = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (auth *HcpOpenShiftClustersExternalAuth_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (auth *HcpOpenShiftClustersExternalAuth_Spec) SetAzureName(azureName string) { + auth.AzureName = azureName +} + +type HcpOpenShiftClustersExternalAuth_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,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 *ExternalAuthProperties_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"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftClustersExternalAuth_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftClustersExternalAuth_STATUS from the provided source +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.HcpOpenShiftClustersExternalAuth_STATUS) + if ok { + // Populate our instance from source + return auth.AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftClustersExternalAuth_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = auth.AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftClustersExternalAuth_STATUS +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.HcpOpenShiftClustersExternalAuth_STATUS) + if ok { + // Populate destination from our instance + return auth.AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftClustersExternalAuth_STATUS{} + err := auth.AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &HcpOpenShiftClustersExternalAuth_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClustersExternalAuth_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClustersExternalAuth_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClustersExternalAuth_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + auth.Id = &id + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + auth.Name = &name + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 ExternalAuthProperties_STATUS + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + auth.Properties = &properties + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + auth.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + auth.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS populates our HcpOpenShiftClustersExternalAuth_STATUS from the provided source HcpOpenShiftClustersExternalAuth_STATUS +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS(source *storage.HcpOpenShiftClustersExternalAuth_STATUS) error { + + // Conditions + auth.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + auth.Id = genruntime.ClonePointerToString(source.Id) + + // Name + auth.Name = genruntime.ClonePointerToString(source.Name) + + // Properties + if source.Properties != nil { + var property ExternalAuthProperties_STATUS + err := property.AssignProperties_From_ExternalAuthProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthProperties_STATUS() to populate field Properties") + } + auth.Properties = &property + } else { + auth.Properties = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + auth.SystemData = &systemDatum + } else { + auth.SystemData = nil + } + + // Type + auth.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS populates the provided destination HcpOpenShiftClustersExternalAuth_STATUS from our HcpOpenShiftClustersExternalAuth_STATUS +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS(destination *storage.HcpOpenShiftClustersExternalAuth_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(auth.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(auth.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(auth.Name) + + // Properties + if auth.Properties != nil { + var property storage.ExternalAuthProperties_STATUS + err := auth.Properties.AssignProperties_To_ExternalAuthProperties_STATUS(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthProperties_STATUS() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // SystemData + if auth.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := auth.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(auth.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth profile +type ExternalAuthProperties struct { + // +kubebuilder:validation:Required + // Claim: External Auth claim + // This configures how claims are validated and applied. + Claim *ExternalAuthClaimProfile `json:"claim,omitempty"` + + // +kubebuilder:validation:MaxItems=20 + // Clients: External Auth OIDC clients + // There must not be more than 20 entries and entries must have unique namespace/name pairs. + Clients []ExternalAuthClientProfile `json:"clients,omitempty"` + + // +kubebuilder:validation:Required + // Issuer: Token Issuer profile + Issuer *TokenIssuerProfile `json:"issuer,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExternalAuthProperties{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (properties *ExternalAuthProperties) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if properties == nil { + return nil, nil + } + result := &arm.ExternalAuthProperties{} + + // Set property "Claim": + if properties.Claim != nil { + claim_ARM, err := properties.Claim.ConvertToARM(resolved) + if err != nil { + return nil, err + } + claim := *claim_ARM.(*arm.ExternalAuthClaimProfile) + result.Claim = &claim + } + + // Set property "Clients": + for _, item := range properties.Clients { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Clients = append(result.Clients, *item_ARM.(*arm.ExternalAuthClientProfile)) + } + + // Set property "Issuer": + if properties.Issuer != nil { + issuer_ARM, err := properties.Issuer.ConvertToARM(resolved) + if err != nil { + return nil, err + } + issuer := *issuer_ARM.(*arm.TokenIssuerProfile) + result.Issuer = &issuer + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *ExternalAuthProperties) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthProperties{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *ExternalAuthProperties) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthProperties) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthProperties, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + var claim1 ExternalAuthClaimProfile + err := claim1.PopulateFromARM(owner, *typedInput.Claim) + if err != nil { + return err + } + claim := claim1 + properties.Claim = &claim + } + + // Set property "Clients": + for _, item := range typedInput.Clients { + var item1 ExternalAuthClientProfile + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Clients = append(properties.Clients, item1) + } + + // Set property "Issuer": + if typedInput.Issuer != nil { + var issuer1 TokenIssuerProfile + err := issuer1.PopulateFromARM(owner, *typedInput.Issuer) + if err != nil { + return err + } + issuer := issuer1 + properties.Issuer = &issuer + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthProperties populates our ExternalAuthProperties from the provided source ExternalAuthProperties +func (properties *ExternalAuthProperties) AssignProperties_From_ExternalAuthProperties(source *storage.ExternalAuthProperties) error { + + // Claim + if source.Claim != nil { + var claim ExternalAuthClaimProfile + err := claim.AssignProperties_From_ExternalAuthClaimProfile(source.Claim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClaimProfile() to populate field Claim") + } + properties.Claim = &claim + } else { + properties.Claim = nil + } + + // Clients + if source.Clients != nil { + clientList := make([]ExternalAuthClientProfile, len(source.Clients)) + for clientIndex, clientItem := range source.Clients { + var client ExternalAuthClientProfile + err := client.AssignProperties_From_ExternalAuthClientProfile(&clientItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClientProfile() to populate field Clients") + } + clientList[clientIndex] = client + } + properties.Clients = clientList + } else { + properties.Clients = nil + } + + // Issuer + if source.Issuer != nil { + var issuer TokenIssuerProfile + err := issuer.AssignProperties_From_TokenIssuerProfile(source.Issuer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenIssuerProfile() to populate field Issuer") + } + properties.Issuer = &issuer + } else { + properties.Issuer = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthProperties populates the provided destination ExternalAuthProperties from our ExternalAuthProperties +func (properties *ExternalAuthProperties) AssignProperties_To_ExternalAuthProperties(destination *storage.ExternalAuthProperties) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + if properties.Claim != nil { + var claim storage.ExternalAuthClaimProfile + err := properties.Claim.AssignProperties_To_ExternalAuthClaimProfile(&claim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClaimProfile() to populate field Claim") + } + destination.Claim = &claim + } else { + destination.Claim = nil + } + + // Clients + if properties.Clients != nil { + clientList := make([]storage.ExternalAuthClientProfile, len(properties.Clients)) + for clientIndex, clientItem := range properties.Clients { + var client storage.ExternalAuthClientProfile + err := clientItem.AssignProperties_To_ExternalAuthClientProfile(&client) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClientProfile() to populate field Clients") + } + clientList[clientIndex] = client + } + destination.Clients = clientList + } else { + destination.Clients = nil + } + + // Issuer + if properties.Issuer != nil { + var issuer storage.TokenIssuerProfile + err := properties.Issuer.AssignProperties_To_TokenIssuerProfile(&issuer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenIssuerProfile() to populate field Issuer") + } + destination.Issuer = &issuer + } else { + destination.Issuer = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ExternalAuthProperties_STATUS populates our ExternalAuthProperties from the provided source ExternalAuthProperties_STATUS +func (properties *ExternalAuthProperties) Initialize_From_ExternalAuthProperties_STATUS(source *ExternalAuthProperties_STATUS) error { + + // Claim + if source.Claim != nil { + var claim ExternalAuthClaimProfile + err := claim.Initialize_From_ExternalAuthClaimProfile_STATUS(source.Claim) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ExternalAuthClaimProfile_STATUS() to populate field Claim") + } + properties.Claim = &claim + } else { + properties.Claim = nil + } + + // Clients + if source.Clients != nil { + clientList := make([]ExternalAuthClientProfile, len(source.Clients)) + for clientIndex, clientItem := range source.Clients { + var client ExternalAuthClientProfile + err := client.Initialize_From_ExternalAuthClientProfile_STATUS(&clientItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ExternalAuthClientProfile_STATUS() to populate field Clients") + } + clientList[clientIndex] = client + } + properties.Clients = clientList + } else { + properties.Clients = nil + } + + // Issuer + if source.Issuer != nil { + var issuer TokenIssuerProfile + err := issuer.Initialize_From_TokenIssuerProfile_STATUS(source.Issuer) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TokenIssuerProfile_STATUS() to populate field Issuer") + } + properties.Issuer = &issuer + } else { + properties.Issuer = nil + } + + // No error + return nil +} + +// External Auth profile +type ExternalAuthProperties_STATUS struct { + // Claim: External Auth claim + // This configures how claims are validated and applied. + Claim *ExternalAuthClaimProfile_STATUS `json:"claim,omitempty"` + + // Clients: External Auth OIDC clients + // There must not be more than 20 entries and entries must have unique namespace/name pairs. + Clients []ExternalAuthClientProfile_STATUS `json:"clients,omitempty"` + + // Condition: An observation of the current state with additional information. + Condition *ExternalAuthCondition_STATUS `json:"condition,omitempty"` + + // Issuer: Token Issuer profile + Issuer *TokenIssuerProfile_STATUS `json:"issuer,omitempty"` + + // ProvisioningState: Provisioning state + ProvisioningState *ExternalAuthProvisioningState_STATUS `json:"provisioningState,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExternalAuthProperties_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *ExternalAuthProperties_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthProperties_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *ExternalAuthProperties_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthProperties_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthProperties_STATUS, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + var claim1 ExternalAuthClaimProfile_STATUS + err := claim1.PopulateFromARM(owner, *typedInput.Claim) + if err != nil { + return err + } + claim := claim1 + properties.Claim = &claim + } + + // Set property "Clients": + for _, item := range typedInput.Clients { + var item1 ExternalAuthClientProfile_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Clients = append(properties.Clients, item1) + } + + // Set property "Condition": + if typedInput.Condition != nil { + var condition1 ExternalAuthCondition_STATUS + err := condition1.PopulateFromARM(owner, *typedInput.Condition) + if err != nil { + return err + } + condition := condition1 + properties.Condition = &condition + } + + // Set property "Issuer": + if typedInput.Issuer != nil { + var issuer1 TokenIssuerProfile_STATUS + err := issuer1.PopulateFromARM(owner, *typedInput.Issuer) + if err != nil { + return err + } + issuer := issuer1 + properties.Issuer = &issuer + } + + // Set property "ProvisioningState": + if typedInput.ProvisioningState != nil { + var temp string + temp = string(*typedInput.ProvisioningState) + provisioningState := ExternalAuthProvisioningState_STATUS(temp) + properties.ProvisioningState = &provisioningState + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthProperties_STATUS populates our ExternalAuthProperties_STATUS from the provided source ExternalAuthProperties_STATUS +func (properties *ExternalAuthProperties_STATUS) AssignProperties_From_ExternalAuthProperties_STATUS(source *storage.ExternalAuthProperties_STATUS) error { + + // Claim + if source.Claim != nil { + var claim ExternalAuthClaimProfile_STATUS + err := claim.AssignProperties_From_ExternalAuthClaimProfile_STATUS(source.Claim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClaimProfile_STATUS() to populate field Claim") + } + properties.Claim = &claim + } else { + properties.Claim = nil + } + + // Clients + if source.Clients != nil { + clientList := make([]ExternalAuthClientProfile_STATUS, len(source.Clients)) + for clientIndex, clientItem := range source.Clients { + var client ExternalAuthClientProfile_STATUS + err := client.AssignProperties_From_ExternalAuthClientProfile_STATUS(&clientItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClientProfile_STATUS() to populate field Clients") + } + clientList[clientIndex] = client + } + properties.Clients = clientList + } else { + properties.Clients = nil + } + + // Condition + if source.Condition != nil { + var condition ExternalAuthCondition_STATUS + err := condition.AssignProperties_From_ExternalAuthCondition_STATUS(source.Condition) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthCondition_STATUS() to populate field Condition") + } + properties.Condition = &condition + } else { + properties.Condition = nil + } + + // Issuer + if source.Issuer != nil { + var issuer TokenIssuerProfile_STATUS + err := issuer.AssignProperties_From_TokenIssuerProfile_STATUS(source.Issuer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenIssuerProfile_STATUS() to populate field Issuer") + } + properties.Issuer = &issuer + } else { + properties.Issuer = nil + } + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, externalAuthProvisioningState_STATUS_Values) + properties.ProvisioningState = &provisioningStateTemp + } else { + properties.ProvisioningState = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthProperties_STATUS populates the provided destination ExternalAuthProperties_STATUS from our ExternalAuthProperties_STATUS +func (properties *ExternalAuthProperties_STATUS) AssignProperties_To_ExternalAuthProperties_STATUS(destination *storage.ExternalAuthProperties_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + if properties.Claim != nil { + var claim storage.ExternalAuthClaimProfile_STATUS + err := properties.Claim.AssignProperties_To_ExternalAuthClaimProfile_STATUS(&claim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClaimProfile_STATUS() to populate field Claim") + } + destination.Claim = &claim + } else { + destination.Claim = nil + } + + // Clients + if properties.Clients != nil { + clientList := make([]storage.ExternalAuthClientProfile_STATUS, len(properties.Clients)) + for clientIndex, clientItem := range properties.Clients { + var client storage.ExternalAuthClientProfile_STATUS + err := clientItem.AssignProperties_To_ExternalAuthClientProfile_STATUS(&client) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClientProfile_STATUS() to populate field Clients") + } + clientList[clientIndex] = client + } + destination.Clients = clientList + } else { + destination.Clients = nil + } + + // Condition + if properties.Condition != nil { + var condition storage.ExternalAuthCondition_STATUS + err := properties.Condition.AssignProperties_To_ExternalAuthCondition_STATUS(&condition) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthCondition_STATUS() to populate field Condition") + } + destination.Condition = &condition + } else { + destination.Condition = nil + } + + // Issuer + if properties.Issuer != nil { + var issuer storage.TokenIssuerProfile_STATUS + err := properties.Issuer.AssignProperties_To_TokenIssuerProfile_STATUS(&issuer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenIssuerProfile_STATUS() to populate field Issuer") + } + destination.Issuer = &issuer + } else { + destination.Issuer = nil + } + + // ProvisioningState + if properties.ProvisioningState != nil { + provisioningState := string(*properties.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClustersExternalAuthOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec populates our HcpOpenShiftClustersExternalAuthOperatorSpec from the provided source HcpOpenShiftClustersExternalAuthOperatorSpec +func (operator *HcpOpenShiftClustersExternalAuthOperatorSpec) AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec(source *storage.HcpOpenShiftClustersExternalAuthOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec populates the provided destination HcpOpenShiftClustersExternalAuthOperatorSpec from our HcpOpenShiftClustersExternalAuthOperatorSpec +func (operator *HcpOpenShiftClustersExternalAuthOperatorSpec) AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec(destination *storage.HcpOpenShiftClustersExternalAuthOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth claim profile +type ExternalAuthClaimProfile struct { + // +kubebuilder:validation:Required + // Mappings: The claim mappings + Mappings *TokenClaimMappingsProfile `json:"mappings,omitempty"` + + // ValidationRules: The claim validation rules + ValidationRules []TokenClaimValidationRule `json:"validationRules,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExternalAuthClaimProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ExternalAuthClaimProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ExternalAuthClaimProfile{} + + // Set property "Mappings": + if profile.Mappings != nil { + mappings_ARM, err := profile.Mappings.ConvertToARM(resolved) + if err != nil { + return nil, err + } + mappings := *mappings_ARM.(*arm.TokenClaimMappingsProfile) + result.Mappings = &mappings + } + + // Set property "ValidationRules": + for _, item := range profile.ValidationRules { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.ValidationRules = append(result.ValidationRules, *item_ARM.(*arm.TokenClaimValidationRule)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClaimProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClaimProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClaimProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClaimProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClaimProfile, got %T", armInput) + } + + // Set property "Mappings": + if typedInput.Mappings != nil { + var mappings1 TokenClaimMappingsProfile + err := mappings1.PopulateFromARM(owner, *typedInput.Mappings) + if err != nil { + return err + } + mappings := mappings1 + profile.Mappings = &mappings + } + + // Set property "ValidationRules": + for _, item := range typedInput.ValidationRules { + var item1 TokenClaimValidationRule + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.ValidationRules = append(profile.ValidationRules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClaimProfile populates our ExternalAuthClaimProfile from the provided source ExternalAuthClaimProfile +func (profile *ExternalAuthClaimProfile) AssignProperties_From_ExternalAuthClaimProfile(source *storage.ExternalAuthClaimProfile) error { + + // Mappings + if source.Mappings != nil { + var mapping TokenClaimMappingsProfile + err := mapping.AssignProperties_From_TokenClaimMappingsProfile(source.Mappings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenClaimMappingsProfile() to populate field Mappings") + } + profile.Mappings = &mapping + } else { + profile.Mappings = nil + } + + // ValidationRules + if source.ValidationRules != nil { + validationRuleList := make([]TokenClaimValidationRule, len(source.ValidationRules)) + for validationRuleIndex, validationRuleItem := range source.ValidationRules { + var validationRule TokenClaimValidationRule + err := validationRule.AssignProperties_From_TokenClaimValidationRule(&validationRuleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenClaimValidationRule() to populate field ValidationRules") + } + validationRuleList[validationRuleIndex] = validationRule + } + profile.ValidationRules = validationRuleList + } else { + profile.ValidationRules = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClaimProfile populates the provided destination ExternalAuthClaimProfile from our ExternalAuthClaimProfile +func (profile *ExternalAuthClaimProfile) AssignProperties_To_ExternalAuthClaimProfile(destination *storage.ExternalAuthClaimProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mappings + if profile.Mappings != nil { + var mapping storage.TokenClaimMappingsProfile + err := profile.Mappings.AssignProperties_To_TokenClaimMappingsProfile(&mapping) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenClaimMappingsProfile() to populate field Mappings") + } + destination.Mappings = &mapping + } else { + destination.Mappings = nil + } + + // ValidationRules + if profile.ValidationRules != nil { + validationRuleList := make([]storage.TokenClaimValidationRule, len(profile.ValidationRules)) + for validationRuleIndex, validationRuleItem := range profile.ValidationRules { + var validationRule storage.TokenClaimValidationRule + err := validationRuleItem.AssignProperties_To_TokenClaimValidationRule(&validationRule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenClaimValidationRule() to populate field ValidationRules") + } + validationRuleList[validationRuleIndex] = validationRule + } + destination.ValidationRules = validationRuleList + } else { + destination.ValidationRules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ExternalAuthClaimProfile_STATUS populates our ExternalAuthClaimProfile from the provided source ExternalAuthClaimProfile_STATUS +func (profile *ExternalAuthClaimProfile) Initialize_From_ExternalAuthClaimProfile_STATUS(source *ExternalAuthClaimProfile_STATUS) error { + + // Mappings + if source.Mappings != nil { + var mapping TokenClaimMappingsProfile + err := mapping.Initialize_From_TokenClaimMappingsProfile_STATUS(source.Mappings) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TokenClaimMappingsProfile_STATUS() to populate field Mappings") + } + profile.Mappings = &mapping + } else { + profile.Mappings = nil + } + + // ValidationRules + if source.ValidationRules != nil { + validationRuleList := make([]TokenClaimValidationRule, len(source.ValidationRules)) + for validationRuleIndex, validationRuleItem := range source.ValidationRules { + var validationRule TokenClaimValidationRule + err := validationRule.Initialize_From_TokenClaimValidationRule_STATUS(&validationRuleItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TokenClaimValidationRule_STATUS() to populate field ValidationRules") + } + validationRuleList[validationRuleIndex] = validationRule + } + profile.ValidationRules = validationRuleList + } else { + profile.ValidationRules = nil + } + + // No error + return nil +} + +// External Auth claim profile +type ExternalAuthClaimProfile_STATUS struct { + // Mappings: The claim mappings + Mappings *TokenClaimMappingsProfile_STATUS `json:"mappings,omitempty"` + + // ValidationRules: The claim validation rules + ValidationRules []TokenClaimValidationRule_STATUS `json:"validationRules,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExternalAuthClaimProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClaimProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClaimProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClaimProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClaimProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClaimProfile_STATUS, got %T", armInput) + } + + // Set property "Mappings": + if typedInput.Mappings != nil { + var mappings1 TokenClaimMappingsProfile_STATUS + err := mappings1.PopulateFromARM(owner, *typedInput.Mappings) + if err != nil { + return err + } + mappings := mappings1 + profile.Mappings = &mappings + } + + // Set property "ValidationRules": + for _, item := range typedInput.ValidationRules { + var item1 TokenClaimValidationRule_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.ValidationRules = append(profile.ValidationRules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClaimProfile_STATUS populates our ExternalAuthClaimProfile_STATUS from the provided source ExternalAuthClaimProfile_STATUS +func (profile *ExternalAuthClaimProfile_STATUS) AssignProperties_From_ExternalAuthClaimProfile_STATUS(source *storage.ExternalAuthClaimProfile_STATUS) error { + + // Mappings + if source.Mappings != nil { + var mapping TokenClaimMappingsProfile_STATUS + err := mapping.AssignProperties_From_TokenClaimMappingsProfile_STATUS(source.Mappings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenClaimMappingsProfile_STATUS() to populate field Mappings") + } + profile.Mappings = &mapping + } else { + profile.Mappings = nil + } + + // ValidationRules + if source.ValidationRules != nil { + validationRuleList := make([]TokenClaimValidationRule_STATUS, len(source.ValidationRules)) + for validationRuleIndex, validationRuleItem := range source.ValidationRules { + var validationRule TokenClaimValidationRule_STATUS + err := validationRule.AssignProperties_From_TokenClaimValidationRule_STATUS(&validationRuleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenClaimValidationRule_STATUS() to populate field ValidationRules") + } + validationRuleList[validationRuleIndex] = validationRule + } + profile.ValidationRules = validationRuleList + } else { + profile.ValidationRules = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClaimProfile_STATUS populates the provided destination ExternalAuthClaimProfile_STATUS from our ExternalAuthClaimProfile_STATUS +func (profile *ExternalAuthClaimProfile_STATUS) AssignProperties_To_ExternalAuthClaimProfile_STATUS(destination *storage.ExternalAuthClaimProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mappings + if profile.Mappings != nil { + var mapping storage.TokenClaimMappingsProfile_STATUS + err := profile.Mappings.AssignProperties_To_TokenClaimMappingsProfile_STATUS(&mapping) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenClaimMappingsProfile_STATUS() to populate field Mappings") + } + destination.Mappings = &mapping + } else { + destination.Mappings = nil + } + + // ValidationRules + if profile.ValidationRules != nil { + validationRuleList := make([]storage.TokenClaimValidationRule_STATUS, len(profile.ValidationRules)) + for validationRuleIndex, validationRuleItem := range profile.ValidationRules { + var validationRule storage.TokenClaimValidationRule_STATUS + err := validationRuleItem.AssignProperties_To_TokenClaimValidationRule_STATUS(&validationRule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenClaimValidationRule_STATUS() to populate field ValidationRules") + } + validationRuleList[validationRuleIndex] = validationRule + } + destination.ValidationRules = validationRuleList + } else { + destination.ValidationRules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // ClientId: External Auth client id + // The clientId must appear in the audience field of the TokenIssuerProfile. + ClientId *string `json:"clientId,omitempty"` + + // +kubebuilder:validation:Required + // Component: External Auth client component + Component *ExternalAuthClientComponentProfile `json:"component,omitempty"` + + // ExtraScopes: external auth client scopes + // This is useful if you have configured claim mappings that requires specific + // scopes to be requested beyond the standard OIDC scopes. + // When omitted, no additional scopes are requested. + ExtraScopes []string `json:"extraScopes,omitempty"` + + // +kubebuilder:validation:Required + // Type: Determines the OIDC provider client type. + Type *ExternalAuthClientType `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExternalAuthClientProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ExternalAuthClientProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ExternalAuthClientProfile{} + + // Set property "ClientId": + if profile.ClientId != nil { + clientId := *profile.ClientId + result.ClientId = &clientId + } + + // Set property "Component": + if profile.Component != nil { + component_ARM, err := profile.Component.ConvertToARM(resolved) + if err != nil { + return nil, err + } + component := *component_ARM.(*arm.ExternalAuthClientComponentProfile) + result.Component = &component + } + + // Set property "ExtraScopes": + for _, item := range profile.ExtraScopes { + result.ExtraScopes = append(result.ExtraScopes, item) + } + + // Set property "Type": + if profile.Type != nil { + var temp string + temp = string(*profile.Type) + typeVar := arm.ExternalAuthClientType(temp) + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClientProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClientProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClientProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClientProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClientProfile, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + profile.ClientId = &clientId + } + + // Set property "Component": + if typedInput.Component != nil { + var component1 ExternalAuthClientComponentProfile + err := component1.PopulateFromARM(owner, *typedInput.Component) + if err != nil { + return err + } + component := component1 + profile.Component = &component + } + + // Set property "ExtraScopes": + for _, item := range typedInput.ExtraScopes { + profile.ExtraScopes = append(profile.ExtraScopes, item) + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExternalAuthClientType(temp) + profile.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClientProfile populates our ExternalAuthClientProfile from the provided source ExternalAuthClientProfile +func (profile *ExternalAuthClientProfile) AssignProperties_From_ExternalAuthClientProfile(source *storage.ExternalAuthClientProfile) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Component + if source.Component != nil { + var component ExternalAuthClientComponentProfile + err := component.AssignProperties_From_ExternalAuthClientComponentProfile(source.Component) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClientComponentProfile() to populate field Component") + } + profile.Component = &component + } else { + profile.Component = nil + } + + // ExtraScopes + profile.ExtraScopes = genruntime.CloneSliceOfString(source.ExtraScopes) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, externalAuthClientType_Values) + profile.Type = &typeTemp + } else { + profile.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClientProfile populates the provided destination ExternalAuthClientProfile from our ExternalAuthClientProfile +func (profile *ExternalAuthClientProfile) AssignProperties_To_ExternalAuthClientProfile(destination *storage.ExternalAuthClientProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Component + if profile.Component != nil { + var component storage.ExternalAuthClientComponentProfile + err := profile.Component.AssignProperties_To_ExternalAuthClientComponentProfile(&component) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClientComponentProfile() to populate field Component") + } + destination.Component = &component + } else { + destination.Component = nil + } + + // ExtraScopes + destination.ExtraScopes = genruntime.CloneSliceOfString(profile.ExtraScopes) + + // Type + if profile.Type != nil { + typeVar := string(*profile.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ExternalAuthClientProfile_STATUS populates our ExternalAuthClientProfile from the provided source ExternalAuthClientProfile_STATUS +func (profile *ExternalAuthClientProfile) Initialize_From_ExternalAuthClientProfile_STATUS(source *ExternalAuthClientProfile_STATUS) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Component + if source.Component != nil { + var component ExternalAuthClientComponentProfile + err := component.Initialize_From_ExternalAuthClientComponentProfile_STATUS(source.Component) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ExternalAuthClientComponentProfile_STATUS() to populate field Component") + } + profile.Component = &component + } else { + profile.Component = nil + } + + // ExtraScopes + profile.ExtraScopes = genruntime.CloneSliceOfString(source.ExtraScopes) + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), externalAuthClientType_Values) + profile.Type = &typeVar + } else { + profile.Type = nil + } + + // No error + return nil +} + +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile_STATUS struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // ClientId: External Auth client id + // The clientId must appear in the audience field of the TokenIssuerProfile. + ClientId *string `json:"clientId,omitempty"` + + // +kubebuilder:validation:Required + // Component: External Auth client component + Component *ExternalAuthClientComponentProfile_STATUS `json:"component,omitempty"` + + // ExtraScopes: external auth client scopes + // This is useful if you have configured claim mappings that requires specific + // scopes to be requested beyond the standard OIDC scopes. + // When omitted, no additional scopes are requested. + ExtraScopes []string `json:"extraScopes,omitempty"` + + // +kubebuilder:validation:Required + // Type: Determines the OIDC provider client type. + Type *ExternalAuthClientType_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExternalAuthClientProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClientProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClientProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClientProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClientProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClientProfile_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + profile.ClientId = &clientId + } + + // Set property "Component": + if typedInput.Component != nil { + var component1 ExternalAuthClientComponentProfile_STATUS + err := component1.PopulateFromARM(owner, *typedInput.Component) + if err != nil { + return err + } + component := component1 + profile.Component = &component + } + + // Set property "ExtraScopes": + for _, item := range typedInput.ExtraScopes { + profile.ExtraScopes = append(profile.ExtraScopes, item) + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExternalAuthClientType_STATUS(temp) + profile.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClientProfile_STATUS populates our ExternalAuthClientProfile_STATUS from the provided source ExternalAuthClientProfile_STATUS +func (profile *ExternalAuthClientProfile_STATUS) AssignProperties_From_ExternalAuthClientProfile_STATUS(source *storage.ExternalAuthClientProfile_STATUS) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Component + if source.Component != nil { + var component ExternalAuthClientComponentProfile_STATUS + err := component.AssignProperties_From_ExternalAuthClientComponentProfile_STATUS(source.Component) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExternalAuthClientComponentProfile_STATUS() to populate field Component") + } + profile.Component = &component + } else { + profile.Component = nil + } + + // ExtraScopes + profile.ExtraScopes = genruntime.CloneSliceOfString(source.ExtraScopes) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, externalAuthClientType_STATUS_Values) + profile.Type = &typeTemp + } else { + profile.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClientProfile_STATUS populates the provided destination ExternalAuthClientProfile_STATUS from our ExternalAuthClientProfile_STATUS +func (profile *ExternalAuthClientProfile_STATUS) AssignProperties_To_ExternalAuthClientProfile_STATUS(destination *storage.ExternalAuthClientProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Component + if profile.Component != nil { + var component storage.ExternalAuthClientComponentProfile_STATUS + err := profile.Component.AssignProperties_To_ExternalAuthClientComponentProfile_STATUS(&component) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExternalAuthClientComponentProfile_STATUS() to populate field Component") + } + destination.Component = &component + } else { + destination.Component = nil + } + + // ExtraScopes + destination.ExtraScopes = genruntime.CloneSliceOfString(profile.ExtraScopes) + + // Type + if profile.Type != nil { + typeVar := string(*profile.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Condition defines an observation of the external auth state. +type ExternalAuthCondition_STATUS struct { + // LastTransitionTime: The last time the condition transitioned from one status to another. + LastTransitionTime *string `json:"lastTransitionTime,omitempty"` + + // Message: This is a human readable message indicating details about the transition. + // This may be an empty string. + Message *string `json:"message,omitempty"` + + // Reason: This contains a programmatic identifier indicating the reason for the condition's last transition. + Reason *string `json:"reason,omitempty"` + + // Status: The status of the condition. + Status *StatusType_STATUS `json:"status,omitempty"` + + // Type: This is a PascalCase (or in foo.example.com/PascalCase) code to represent the type of condition. + Type *ExternalAuthConditionType_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExternalAuthCondition_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (condition *ExternalAuthCondition_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthCondition_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (condition *ExternalAuthCondition_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthCondition_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthCondition_STATUS, got %T", armInput) + } + + // Set property "LastTransitionTime": + if typedInput.LastTransitionTime != nil { + lastTransitionTime := *typedInput.LastTransitionTime + condition.LastTransitionTime = &lastTransitionTime + } + + // Set property "Message": + if typedInput.Message != nil { + message := *typedInput.Message + condition.Message = &message + } + + // Set property "Reason": + if typedInput.Reason != nil { + reason := *typedInput.Reason + condition.Reason = &reason + } + + // Set property "Status": + if typedInput.Status != nil { + var temp string + temp = string(*typedInput.Status) + status := StatusType_STATUS(temp) + condition.Status = &status + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExternalAuthConditionType_STATUS(temp) + condition.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthCondition_STATUS populates our ExternalAuthCondition_STATUS from the provided source ExternalAuthCondition_STATUS +func (condition *ExternalAuthCondition_STATUS) AssignProperties_From_ExternalAuthCondition_STATUS(source *storage.ExternalAuthCondition_STATUS) error { + + // LastTransitionTime + condition.LastTransitionTime = genruntime.ClonePointerToString(source.LastTransitionTime) + + // Message + condition.Message = genruntime.ClonePointerToString(source.Message) + + // Reason + condition.Reason = genruntime.ClonePointerToString(source.Reason) + + // Status + if source.Status != nil { + status := *source.Status + statusTemp := genruntime.ToEnum(status, statusType_STATUS_Values) + condition.Status = &statusTemp + } else { + condition.Status = nil + } + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, externalAuthConditionType_STATUS_Values) + condition.Type = &typeTemp + } else { + condition.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthCondition_STATUS populates the provided destination ExternalAuthCondition_STATUS from our ExternalAuthCondition_STATUS +func (condition *ExternalAuthCondition_STATUS) AssignProperties_To_ExternalAuthCondition_STATUS(destination *storage.ExternalAuthCondition_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // LastTransitionTime + destination.LastTransitionTime = genruntime.ClonePointerToString(condition.LastTransitionTime) + + // Message + destination.Message = genruntime.ClonePointerToString(condition.Message) + + // Reason + destination.Reason = genruntime.ClonePointerToString(condition.Reason) + + // Status + if condition.Status != nil { + status := string(*condition.Status) + destination.Status = &status + } else { + destination.Status = nil + } + + // Type + if condition.Type != nil { + typeVar := string(*condition.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The resource provisioning state. +type ExternalAuthProvisioningState_STATUS string + +const ( + ExternalAuthProvisioningState_STATUS_Accepted = ExternalAuthProvisioningState_STATUS("Accepted") + ExternalAuthProvisioningState_STATUS_AwaitingSecret = ExternalAuthProvisioningState_STATUS("AwaitingSecret") + ExternalAuthProvisioningState_STATUS_Canceled = ExternalAuthProvisioningState_STATUS("Canceled") + ExternalAuthProvisioningState_STATUS_Deleting = ExternalAuthProvisioningState_STATUS("Deleting") + ExternalAuthProvisioningState_STATUS_Failed = ExternalAuthProvisioningState_STATUS("Failed") + ExternalAuthProvisioningState_STATUS_Provisioning = ExternalAuthProvisioningState_STATUS("Provisioning") + ExternalAuthProvisioningState_STATUS_Succeeded = ExternalAuthProvisioningState_STATUS("Succeeded") + ExternalAuthProvisioningState_STATUS_Updating = ExternalAuthProvisioningState_STATUS("Updating") +) + +// Mapping from string to ExternalAuthProvisioningState_STATUS +var externalAuthProvisioningState_STATUS_Values = map[string]ExternalAuthProvisioningState_STATUS{ + "accepted": ExternalAuthProvisioningState_STATUS_Accepted, + "awaitingsecret": ExternalAuthProvisioningState_STATUS_AwaitingSecret, + "canceled": ExternalAuthProvisioningState_STATUS_Canceled, + "deleting": ExternalAuthProvisioningState_STATUS_Deleting, + "failed": ExternalAuthProvisioningState_STATUS_Failed, + "provisioning": ExternalAuthProvisioningState_STATUS_Provisioning, + "succeeded": ExternalAuthProvisioningState_STATUS_Succeeded, + "updating": ExternalAuthProvisioningState_STATUS_Updating, +} + +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxItems=10 + // +kubebuilder:validation:MinItems=1 + // Audiences: This configures the acceptable audiences the JWT token, issued by the identity + // provider, must be issued to. At least one of the entries must match the + // 'aud' claim in the JWT token. + // audiences must contain at least one entry and must not exceed ten entries. + Audiences []string `json:"audiences,omitempty"` + + // Ca: The issuer of the token + // Certificate bundle to use to validate server certificates for the configured URL. + // It must be PEM encoded and when not specified, the system trust is used. + Ca *string `json:"ca,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^[a-zA-Z][a-zA-Z0-9+-.]*:[^\\s]*$" + // Url: This configures the URL used to issue tokens by the identity provider. + // The Kubernetes API server determines how authentication tokens should be handled + // by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + // issuerURL must use the 'https' scheme. + Url *string `json:"url,omitempty"` +} + +var _ genruntime.ARMTransformer = &TokenIssuerProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *TokenIssuerProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.TokenIssuerProfile{} + + // Set property "Audiences": + for _, item := range profile.Audiences { + result.Audiences = append(result.Audiences, item) + } + + // Set property "Ca": + if profile.Ca != nil { + ca := *profile.Ca + result.Ca = &ca + } + + // Set property "Url": + if profile.Url != nil { + url := *profile.Url + result.Url = &url + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *TokenIssuerProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenIssuerProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *TokenIssuerProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenIssuerProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenIssuerProfile, got %T", armInput) + } + + // Set property "Audiences": + for _, item := range typedInput.Audiences { + profile.Audiences = append(profile.Audiences, item) + } + + // Set property "Ca": + if typedInput.Ca != nil { + ca := *typedInput.Ca + profile.Ca = &ca + } + + // Set property "Url": + if typedInput.Url != nil { + url := *typedInput.Url + profile.Url = &url + } + + // No error + return nil +} + +// AssignProperties_From_TokenIssuerProfile populates our TokenIssuerProfile from the provided source TokenIssuerProfile +func (profile *TokenIssuerProfile) AssignProperties_From_TokenIssuerProfile(source *storage.TokenIssuerProfile) error { + + // Audiences + profile.Audiences = genruntime.CloneSliceOfString(source.Audiences) + + // Ca + profile.Ca = genruntime.ClonePointerToString(source.Ca) + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // No error + return nil +} + +// AssignProperties_To_TokenIssuerProfile populates the provided destination TokenIssuerProfile from our TokenIssuerProfile +func (profile *TokenIssuerProfile) AssignProperties_To_TokenIssuerProfile(destination *storage.TokenIssuerProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Audiences + destination.Audiences = genruntime.CloneSliceOfString(profile.Audiences) + + // Ca + destination.Ca = genruntime.ClonePointerToString(profile.Ca) + + // Url + destination.Url = genruntime.ClonePointerToString(profile.Url) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TokenIssuerProfile_STATUS populates our TokenIssuerProfile from the provided source TokenIssuerProfile_STATUS +func (profile *TokenIssuerProfile) Initialize_From_TokenIssuerProfile_STATUS(source *TokenIssuerProfile_STATUS) error { + + // Audiences + profile.Audiences = genruntime.CloneSliceOfString(source.Audiences) + + // Ca + profile.Ca = genruntime.ClonePointerToString(source.Ca) + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // No error + return nil +} + +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile_STATUS struct { + // Audiences: This configures the acceptable audiences the JWT token, issued by the identity + // provider, must be issued to. At least one of the entries must match the + // 'aud' claim in the JWT token. + // audiences must contain at least one entry and must not exceed ten entries. + Audiences []string `json:"audiences,omitempty"` + + // Ca: The issuer of the token + // Certificate bundle to use to validate server certificates for the configured URL. + // It must be PEM encoded and when not specified, the system trust is used. + Ca *string `json:"ca,omitempty"` + + // Url: This configures the URL used to issue tokens by the identity provider. + // The Kubernetes API server determines how authentication tokens should be handled + // by matching the 'iss' claim in the JWT to the issuerURL of configured identity providers. + // issuerURL must use the 'https' scheme. + Url *string `json:"url,omitempty"` +} + +var _ genruntime.FromARMConverter = &TokenIssuerProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *TokenIssuerProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenIssuerProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *TokenIssuerProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenIssuerProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenIssuerProfile_STATUS, got %T", armInput) + } + + // Set property "Audiences": + for _, item := range typedInput.Audiences { + profile.Audiences = append(profile.Audiences, item) + } + + // Set property "Ca": + if typedInput.Ca != nil { + ca := *typedInput.Ca + profile.Ca = &ca + } + + // Set property "Url": + if typedInput.Url != nil { + url := *typedInput.Url + profile.Url = &url + } + + // No error + return nil +} + +// AssignProperties_From_TokenIssuerProfile_STATUS populates our TokenIssuerProfile_STATUS from the provided source TokenIssuerProfile_STATUS +func (profile *TokenIssuerProfile_STATUS) AssignProperties_From_TokenIssuerProfile_STATUS(source *storage.TokenIssuerProfile_STATUS) error { + + // Audiences + profile.Audiences = genruntime.CloneSliceOfString(source.Audiences) + + // Ca + profile.Ca = genruntime.ClonePointerToString(source.Ca) + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // No error + return nil +} + +// AssignProperties_To_TokenIssuerProfile_STATUS populates the provided destination TokenIssuerProfile_STATUS from our TokenIssuerProfile_STATUS +func (profile *TokenIssuerProfile_STATUS) AssignProperties_To_TokenIssuerProfile_STATUS(destination *storage.TokenIssuerProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Audiences + destination.Audiences = genruntime.CloneSliceOfString(profile.Audiences) + + // Ca + destination.Ca = genruntime.ClonePointerToString(profile.Ca) + + // Url + destination.Url = genruntime.ClonePointerToString(profile.Url) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=63 + // +kubebuilder:validation:MinLength=1 + // AuthClientNamespace: The namespace of the external Auth client + // This specifies the namespace in which the platform component being configured + // to use the identity provider as an authentication mode is running. + // It is used in combination with name as a unique identifier. + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=256 + // +kubebuilder:validation:MinLength=1 + // Name: The name of the external auth client + // This specifies the name of the platform component being configured to use + // the identity provider as an authentication mode. + // It is used in combination with namespace as a unique identifier. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExternalAuthClientComponentProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ExternalAuthClientComponentProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ExternalAuthClientComponentProfile{} + + // Set property "AuthClientNamespace": + if profile.AuthClientNamespace != nil { + authClientNamespace := *profile.AuthClientNamespace + result.AuthClientNamespace = &authClientNamespace + } + + // Set property "Name": + if profile.Name != nil { + name := *profile.Name + result.Name = &name + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClientComponentProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClientComponentProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClientComponentProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClientComponentProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClientComponentProfile, got %T", armInput) + } + + // Set property "AuthClientNamespace": + if typedInput.AuthClientNamespace != nil { + authClientNamespace := *typedInput.AuthClientNamespace + profile.AuthClientNamespace = &authClientNamespace + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClientComponentProfile populates our ExternalAuthClientComponentProfile from the provided source ExternalAuthClientComponentProfile +func (profile *ExternalAuthClientComponentProfile) AssignProperties_From_ExternalAuthClientComponentProfile(source *storage.ExternalAuthClientComponentProfile) error { + + // AuthClientNamespace + profile.AuthClientNamespace = genruntime.ClonePointerToString(source.AuthClientNamespace) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClientComponentProfile populates the provided destination ExternalAuthClientComponentProfile from our ExternalAuthClientComponentProfile +func (profile *ExternalAuthClientComponentProfile) AssignProperties_To_ExternalAuthClientComponentProfile(destination *storage.ExternalAuthClientComponentProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthClientNamespace + destination.AuthClientNamespace = genruntime.ClonePointerToString(profile.AuthClientNamespace) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ExternalAuthClientComponentProfile_STATUS populates our ExternalAuthClientComponentProfile from the provided source ExternalAuthClientComponentProfile_STATUS +func (profile *ExternalAuthClientComponentProfile) Initialize_From_ExternalAuthClientComponentProfile_STATUS(source *ExternalAuthClientComponentProfile_STATUS) error { + + // AuthClientNamespace + profile.AuthClientNamespace = genruntime.ClonePointerToString(source.AuthClientNamespace) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile_STATUS struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=63 + // +kubebuilder:validation:MinLength=1 + // AuthClientNamespace: The namespace of the external Auth client + // This specifies the namespace in which the platform component being configured + // to use the identity provider as an authentication mode is running. + // It is used in combination with name as a unique identifier. + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=256 + // +kubebuilder:validation:MinLength=1 + // Name: The name of the external auth client + // This specifies the name of the platform component being configured to use + // the identity provider as an authentication mode. + // It is used in combination with namespace as a unique identifier. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExternalAuthClientComponentProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ExternalAuthClientComponentProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExternalAuthClientComponentProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ExternalAuthClientComponentProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExternalAuthClientComponentProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExternalAuthClientComponentProfile_STATUS, got %T", armInput) + } + + // Set property "AuthClientNamespace": + if typedInput.AuthClientNamespace != nil { + authClientNamespace := *typedInput.AuthClientNamespace + profile.AuthClientNamespace = &authClientNamespace + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_ExternalAuthClientComponentProfile_STATUS populates our ExternalAuthClientComponentProfile_STATUS from the provided source ExternalAuthClientComponentProfile_STATUS +func (profile *ExternalAuthClientComponentProfile_STATUS) AssignProperties_From_ExternalAuthClientComponentProfile_STATUS(source *storage.ExternalAuthClientComponentProfile_STATUS) error { + + // AuthClientNamespace + profile.AuthClientNamespace = genruntime.ClonePointerToString(source.AuthClientNamespace) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_ExternalAuthClientComponentProfile_STATUS populates the provided destination ExternalAuthClientComponentProfile_STATUS from our ExternalAuthClientComponentProfile_STATUS +func (profile *ExternalAuthClientComponentProfile_STATUS) AssignProperties_To_ExternalAuthClientComponentProfile_STATUS(destination *storage.ExternalAuthClientComponentProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthClientNamespace + destination.AuthClientNamespace = genruntime.ClonePointerToString(profile.AuthClientNamespace) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Representation of the possible values of an external authentication client's type +// +kubebuilder:validation:Enum={"Confidential","Public"} +type ExternalAuthClientType string + +const ( + ExternalAuthClientType_Confidential = ExternalAuthClientType("Confidential") + ExternalAuthClientType_Public = ExternalAuthClientType("Public") +) + +// Mapping from string to ExternalAuthClientType +var externalAuthClientType_Values = map[string]ExternalAuthClientType{ + "confidential": ExternalAuthClientType_Confidential, + "public": ExternalAuthClientType_Public, +} + +// Representation of the possible values of an external authentication client's type +// +kubebuilder:validation:Enum={"Confidential","Public"} +type ExternalAuthClientType_STATUS string + +const ( + ExternalAuthClientType_STATUS_Confidential = ExternalAuthClientType_STATUS("Confidential") + ExternalAuthClientType_STATUS_Public = ExternalAuthClientType_STATUS("Public") +) + +// Mapping from string to ExternalAuthClientType_STATUS +var externalAuthClientType_STATUS_Values = map[string]ExternalAuthClientType_STATUS{ + "confidential": ExternalAuthClientType_STATUS_Confidential, + "public": ExternalAuthClientType_STATUS_Public, +} + +// Representation of the possible types of a external auths condition. +type ExternalAuthConditionType_STATUS string + +const ( + ExternalAuthConditionType_STATUS_Available = ExternalAuthConditionType_STATUS("Available") + ExternalAuthConditionType_STATUS_Degraded = ExternalAuthConditionType_STATUS("Degraded") + ExternalAuthConditionType_STATUS_Progressing = ExternalAuthConditionType_STATUS("Progressing") +) + +// Mapping from string to ExternalAuthConditionType_STATUS +var externalAuthConditionType_STATUS_Values = map[string]ExternalAuthConditionType_STATUS{ + "available": ExternalAuthConditionType_STATUS_Available, + "degraded": ExternalAuthConditionType_STATUS_Degraded, + "progressing": ExternalAuthConditionType_STATUS_Progressing, +} + +// Representation of the possible values of a external auths condition status. +type StatusType_STATUS string + +const ( + StatusType_STATUS_False = StatusType_STATUS("False") + StatusType_STATUS_True = StatusType_STATUS("True") + StatusType_STATUS_Unknown = StatusType_STATUS("Unknown") +) + +// Mapping from string to StatusType_STATUS +var statusType_STATUS_Values = map[string]StatusType_STATUS{ + "false": StatusType_STATUS_False, + "true": StatusType_STATUS_True, + "unknown": StatusType_STATUS_Unknown, +} + +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile struct { + // Groups: The claim mappings groups. + Groups *GroupClaimProfile `json:"groups,omitempty"` + + // +kubebuilder:validation:Required + // Username: The claim mappings username. + Username *UsernameClaimProfile `json:"username,omitempty"` +} + +var _ genruntime.ARMTransformer = &TokenClaimMappingsProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *TokenClaimMappingsProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.TokenClaimMappingsProfile{} + + // Set property "Groups": + if profile.Groups != nil { + groups_ARM, err := profile.Groups.ConvertToARM(resolved) + if err != nil { + return nil, err + } + groups := *groups_ARM.(*arm.GroupClaimProfile) + result.Groups = &groups + } + + // Set property "Username": + if profile.Username != nil { + username_ARM, err := profile.Username.ConvertToARM(resolved) + if err != nil { + return nil, err + } + username := *username_ARM.(*arm.UsernameClaimProfile) + result.Username = &username + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *TokenClaimMappingsProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenClaimMappingsProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *TokenClaimMappingsProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenClaimMappingsProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenClaimMappingsProfile, got %T", armInput) + } + + // Set property "Groups": + if typedInput.Groups != nil { + var groups1 GroupClaimProfile + err := groups1.PopulateFromARM(owner, *typedInput.Groups) + if err != nil { + return err + } + groups := groups1 + profile.Groups = &groups + } + + // Set property "Username": + if typedInput.Username != nil { + var username1 UsernameClaimProfile + err := username1.PopulateFromARM(owner, *typedInput.Username) + if err != nil { + return err + } + username := username1 + profile.Username = &username + } + + // No error + return nil +} + +// AssignProperties_From_TokenClaimMappingsProfile populates our TokenClaimMappingsProfile from the provided source TokenClaimMappingsProfile +func (profile *TokenClaimMappingsProfile) AssignProperties_From_TokenClaimMappingsProfile(source *storage.TokenClaimMappingsProfile) error { + + // Groups + if source.Groups != nil { + var group GroupClaimProfile + err := group.AssignProperties_From_GroupClaimProfile(source.Groups) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GroupClaimProfile() to populate field Groups") + } + profile.Groups = &group + } else { + profile.Groups = nil + } + + // Username + if source.Username != nil { + var username UsernameClaimProfile + err := username.AssignProperties_From_UsernameClaimProfile(source.Username) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UsernameClaimProfile() to populate field Username") + } + profile.Username = &username + } else { + profile.Username = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenClaimMappingsProfile populates the provided destination TokenClaimMappingsProfile from our TokenClaimMappingsProfile +func (profile *TokenClaimMappingsProfile) AssignProperties_To_TokenClaimMappingsProfile(destination *storage.TokenClaimMappingsProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Groups + if profile.Groups != nil { + var group storage.GroupClaimProfile + err := profile.Groups.AssignProperties_To_GroupClaimProfile(&group) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GroupClaimProfile() to populate field Groups") + } + destination.Groups = &group + } else { + destination.Groups = nil + } + + // Username + if profile.Username != nil { + var username storage.UsernameClaimProfile + err := profile.Username.AssignProperties_To_UsernameClaimProfile(&username) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UsernameClaimProfile() to populate field Username") + } + destination.Username = &username + } else { + destination.Username = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TokenClaimMappingsProfile_STATUS populates our TokenClaimMappingsProfile from the provided source TokenClaimMappingsProfile_STATUS +func (profile *TokenClaimMappingsProfile) Initialize_From_TokenClaimMappingsProfile_STATUS(source *TokenClaimMappingsProfile_STATUS) error { + + // Groups + if source.Groups != nil { + var group GroupClaimProfile + err := group.Initialize_From_GroupClaimProfile_STATUS(source.Groups) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_GroupClaimProfile_STATUS() to populate field Groups") + } + profile.Groups = &group + } else { + profile.Groups = nil + } + + // Username + if source.Username != nil { + var username UsernameClaimProfile + err := username.Initialize_From_UsernameClaimProfile_STATUS(source.Username) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_UsernameClaimProfile_STATUS() to populate field Username") + } + profile.Username = &username + } else { + profile.Username = nil + } + + // No error + return nil +} + +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile_STATUS struct { + // Groups: The claim mappings groups. + Groups *GroupClaimProfile_STATUS `json:"groups,omitempty"` + + // Username: The claim mappings username. + Username *UsernameClaimProfile_STATUS `json:"username,omitempty"` +} + +var _ genruntime.FromARMConverter = &TokenClaimMappingsProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *TokenClaimMappingsProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenClaimMappingsProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *TokenClaimMappingsProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenClaimMappingsProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenClaimMappingsProfile_STATUS, got %T", armInput) + } + + // Set property "Groups": + if typedInput.Groups != nil { + var groups1 GroupClaimProfile_STATUS + err := groups1.PopulateFromARM(owner, *typedInput.Groups) + if err != nil { + return err + } + groups := groups1 + profile.Groups = &groups + } + + // Set property "Username": + if typedInput.Username != nil { + var username1 UsernameClaimProfile_STATUS + err := username1.PopulateFromARM(owner, *typedInput.Username) + if err != nil { + return err + } + username := username1 + profile.Username = &username + } + + // No error + return nil +} + +// AssignProperties_From_TokenClaimMappingsProfile_STATUS populates our TokenClaimMappingsProfile_STATUS from the provided source TokenClaimMappingsProfile_STATUS +func (profile *TokenClaimMappingsProfile_STATUS) AssignProperties_From_TokenClaimMappingsProfile_STATUS(source *storage.TokenClaimMappingsProfile_STATUS) error { + + // Groups + if source.Groups != nil { + var group GroupClaimProfile_STATUS + err := group.AssignProperties_From_GroupClaimProfile_STATUS(source.Groups) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GroupClaimProfile_STATUS() to populate field Groups") + } + profile.Groups = &group + } else { + profile.Groups = nil + } + + // Username + if source.Username != nil { + var username UsernameClaimProfile_STATUS + err := username.AssignProperties_From_UsernameClaimProfile_STATUS(source.Username) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UsernameClaimProfile_STATUS() to populate field Username") + } + profile.Username = &username + } else { + profile.Username = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenClaimMappingsProfile_STATUS populates the provided destination TokenClaimMappingsProfile_STATUS from our TokenClaimMappingsProfile_STATUS +func (profile *TokenClaimMappingsProfile_STATUS) AssignProperties_To_TokenClaimMappingsProfile_STATUS(destination *storage.TokenClaimMappingsProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Groups + if profile.Groups != nil { + var group storage.GroupClaimProfile_STATUS + err := profile.Groups.AssignProperties_To_GroupClaimProfile_STATUS(&group) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GroupClaimProfile_STATUS() to populate field Groups") + } + destination.Groups = &group + } else { + destination.Groups = nil + } + + // Username + if profile.Username != nil { + var username storage.UsernameClaimProfile_STATUS + err := profile.Username.AssignProperties_To_UsernameClaimProfile_STATUS(&username) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UsernameClaimProfile_STATUS() to populate field Username") + } + destination.Username = &username + } else { + destination.Username = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth claim validation rule +type TokenClaimValidationRule struct { + // RequiredClaim: The required claim rule to be applied. + RequiredClaim *TokenRequiredClaim `json:"requiredClaim,omitempty"` + + // Type: This configures the type of the validation rule. + // It defaults to "RequiredClaim" + Type *TokenClaimValidationRule_Type `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &TokenClaimValidationRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *TokenClaimValidationRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.TokenClaimValidationRule{} + + // Set property "RequiredClaim": + if rule.RequiredClaim != nil { + requiredClaim_ARM, err := rule.RequiredClaim.ConvertToARM(resolved) + if err != nil { + return nil, err + } + requiredClaim := *requiredClaim_ARM.(*arm.TokenRequiredClaim) + result.RequiredClaim = &requiredClaim + } + + // Set property "Type": + if rule.Type != nil { + var temp string + temp = string(*rule.Type) + typeVar := arm.TokenClaimValidationRule_Type(temp) + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *TokenClaimValidationRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenClaimValidationRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *TokenClaimValidationRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenClaimValidationRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenClaimValidationRule, got %T", armInput) + } + + // Set property "RequiredClaim": + if typedInput.RequiredClaim != nil { + var requiredClaim1 TokenRequiredClaim + err := requiredClaim1.PopulateFromARM(owner, *typedInput.RequiredClaim) + if err != nil { + return err + } + requiredClaim := requiredClaim1 + rule.RequiredClaim = &requiredClaim + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := TokenClaimValidationRule_Type(temp) + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_TokenClaimValidationRule populates our TokenClaimValidationRule from the provided source TokenClaimValidationRule +func (rule *TokenClaimValidationRule) AssignProperties_From_TokenClaimValidationRule(source *storage.TokenClaimValidationRule) error { + + // RequiredClaim + if source.RequiredClaim != nil { + var requiredClaim TokenRequiredClaim + err := requiredClaim.AssignProperties_From_TokenRequiredClaim(source.RequiredClaim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenRequiredClaim() to populate field RequiredClaim") + } + rule.RequiredClaim = &requiredClaim + } else { + rule.RequiredClaim = nil + } + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, tokenClaimValidationRule_Type_Values) + rule.Type = &typeTemp + } else { + rule.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenClaimValidationRule populates the provided destination TokenClaimValidationRule from our TokenClaimValidationRule +func (rule *TokenClaimValidationRule) AssignProperties_To_TokenClaimValidationRule(destination *storage.TokenClaimValidationRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // RequiredClaim + if rule.RequiredClaim != nil { + var requiredClaim storage.TokenRequiredClaim + err := rule.RequiredClaim.AssignProperties_To_TokenRequiredClaim(&requiredClaim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenRequiredClaim() to populate field RequiredClaim") + } + destination.RequiredClaim = &requiredClaim + } else { + destination.RequiredClaim = nil + } + + // Type + if rule.Type != nil { + typeVar := string(*rule.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TokenClaimValidationRule_STATUS populates our TokenClaimValidationRule from the provided source TokenClaimValidationRule_STATUS +func (rule *TokenClaimValidationRule) Initialize_From_TokenClaimValidationRule_STATUS(source *TokenClaimValidationRule_STATUS) error { + + // RequiredClaim + if source.RequiredClaim != nil { + var requiredClaim TokenRequiredClaim + err := requiredClaim.Initialize_From_TokenRequiredClaim_STATUS(source.RequiredClaim) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TokenRequiredClaim_STATUS() to populate field RequiredClaim") + } + rule.RequiredClaim = &requiredClaim + } else { + rule.RequiredClaim = nil + } + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), tokenClaimValidationRule_Type_Values) + rule.Type = &typeVar + } else { + rule.Type = nil + } + + // No error + return nil +} + +// External Auth claim validation rule +type TokenClaimValidationRule_STATUS struct { + // RequiredClaim: The required claim rule to be applied. + RequiredClaim *TokenRequiredClaim_STATUS `json:"requiredClaim,omitempty"` + + // Type: This configures the type of the validation rule. + // It defaults to "RequiredClaim" + Type *TokenClaimValidationRule_Type_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &TokenClaimValidationRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *TokenClaimValidationRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenClaimValidationRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *TokenClaimValidationRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenClaimValidationRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenClaimValidationRule_STATUS, got %T", armInput) + } + + // Set property "RequiredClaim": + if typedInput.RequiredClaim != nil { + var requiredClaim1 TokenRequiredClaim_STATUS + err := requiredClaim1.PopulateFromARM(owner, *typedInput.RequiredClaim) + if err != nil { + return err + } + requiredClaim := requiredClaim1 + rule.RequiredClaim = &requiredClaim + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := TokenClaimValidationRule_Type_STATUS(temp) + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_TokenClaimValidationRule_STATUS populates our TokenClaimValidationRule_STATUS from the provided source TokenClaimValidationRule_STATUS +func (rule *TokenClaimValidationRule_STATUS) AssignProperties_From_TokenClaimValidationRule_STATUS(source *storage.TokenClaimValidationRule_STATUS) error { + + // RequiredClaim + if source.RequiredClaim != nil { + var requiredClaim TokenRequiredClaim_STATUS + err := requiredClaim.AssignProperties_From_TokenRequiredClaim_STATUS(source.RequiredClaim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenRequiredClaim_STATUS() to populate field RequiredClaim") + } + rule.RequiredClaim = &requiredClaim + } else { + rule.RequiredClaim = nil + } + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, tokenClaimValidationRule_Type_STATUS_Values) + rule.Type = &typeTemp + } else { + rule.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenClaimValidationRule_STATUS populates the provided destination TokenClaimValidationRule_STATUS from our TokenClaimValidationRule_STATUS +func (rule *TokenClaimValidationRule_STATUS) AssignProperties_To_TokenClaimValidationRule_STATUS(destination *storage.TokenClaimValidationRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // RequiredClaim + if rule.RequiredClaim != nil { + var requiredClaim storage.TokenRequiredClaim_STATUS + err := rule.RequiredClaim.AssignProperties_To_TokenRequiredClaim_STATUS(&requiredClaim) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenRequiredClaim_STATUS() to populate field RequiredClaim") + } + destination.RequiredClaim = &requiredClaim + } else { + destination.RequiredClaim = nil + } + + // Type + if rule.Type != nil { + typeVar := string(*rule.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=256 + // +kubebuilder:validation:MinLength=1 + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // If this is specified prefixPolicy will be set to "Prefix" by default + Prefix *string `json:"prefix,omitempty"` +} + +var _ genruntime.ARMTransformer = &GroupClaimProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *GroupClaimProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.GroupClaimProfile{} + + // Set property "Claim": + if profile.Claim != nil { + claim := *profile.Claim + result.Claim = &claim + } + + // Set property "Prefix": + if profile.Prefix != nil { + prefix := *profile.Prefix + result.Prefix = &prefix + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *GroupClaimProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GroupClaimProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *GroupClaimProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GroupClaimProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GroupClaimProfile, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim := *typedInput.Claim + profile.Claim = &claim + } + + // Set property "Prefix": + if typedInput.Prefix != nil { + prefix := *typedInput.Prefix + profile.Prefix = &prefix + } + + // No error + return nil +} + +// AssignProperties_From_GroupClaimProfile populates our GroupClaimProfile from the provided source GroupClaimProfile +func (profile *GroupClaimProfile) AssignProperties_From_GroupClaimProfile(source *storage.GroupClaimProfile) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // No error + return nil +} + +// AssignProperties_To_GroupClaimProfile populates the provided destination GroupClaimProfile from our GroupClaimProfile +func (profile *GroupClaimProfile) AssignProperties_To_GroupClaimProfile(destination *storage.GroupClaimProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(profile.Claim) + + // Prefix + destination.Prefix = genruntime.ClonePointerToString(profile.Prefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_GroupClaimProfile_STATUS populates our GroupClaimProfile from the provided source GroupClaimProfile_STATUS +func (profile *GroupClaimProfile) Initialize_From_GroupClaimProfile_STATUS(source *GroupClaimProfile_STATUS) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // No error + return nil +} + +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile_STATUS struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // If this is specified prefixPolicy will be set to "Prefix" by default + Prefix *string `json:"prefix,omitempty"` +} + +var _ genruntime.FromARMConverter = &GroupClaimProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *GroupClaimProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GroupClaimProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *GroupClaimProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GroupClaimProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GroupClaimProfile_STATUS, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim := *typedInput.Claim + profile.Claim = &claim + } + + // Set property "Prefix": + if typedInput.Prefix != nil { + prefix := *typedInput.Prefix + profile.Prefix = &prefix + } + + // No error + return nil +} + +// AssignProperties_From_GroupClaimProfile_STATUS populates our GroupClaimProfile_STATUS from the provided source GroupClaimProfile_STATUS +func (profile *GroupClaimProfile_STATUS) AssignProperties_From_GroupClaimProfile_STATUS(source *storage.GroupClaimProfile_STATUS) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // No error + return nil +} + +// AssignProperties_To_GroupClaimProfile_STATUS populates the provided destination GroupClaimProfile_STATUS from our GroupClaimProfile_STATUS +func (profile *GroupClaimProfile_STATUS) AssignProperties_To_GroupClaimProfile_STATUS(destination *storage.GroupClaimProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(profile.Claim) + + // Prefix + destination.Prefix = genruntime.ClonePointerToString(profile.Prefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"RequiredClaim"} +type TokenClaimValidationRule_Type string + +const TokenClaimValidationRule_Type_RequiredClaim = TokenClaimValidationRule_Type("RequiredClaim") + +// Mapping from string to TokenClaimValidationRule_Type +var tokenClaimValidationRule_Type_Values = map[string]TokenClaimValidationRule_Type{ + "requiredclaim": TokenClaimValidationRule_Type_RequiredClaim, +} + +type TokenClaimValidationRule_Type_STATUS string + +const TokenClaimValidationRule_Type_STATUS_RequiredClaim = TokenClaimValidationRule_Type_STATUS("RequiredClaim") + +// Mapping from string to TokenClaimValidationRule_Type_STATUS +var tokenClaimValidationRule_Type_STATUS_Values = map[string]TokenClaimValidationRule_Type_STATUS{ + "requiredclaim": TokenClaimValidationRule_Type_STATUS_RequiredClaim, +} + +// Token required claim validation rule. +type TokenRequiredClaim struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // Claim: Claim name for the validation profile + // claim is a required field that configures the name of the required claim. + Claim *string `json:"claim,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MinLength=1 + // RequiredValue: Required value + // requiredValue is a required field that configures the value that 'claim' must + // have when taken from the incoming JWT claims. + // If the value in the JWT claims does not match, the token + // will be rejected for authentication. + RequiredValue *string `json:"requiredValue,omitempty"` +} + +var _ genruntime.ARMTransformer = &TokenRequiredClaim{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (claim *TokenRequiredClaim) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if claim == nil { + return nil, nil + } + result := &arm.TokenRequiredClaim{} + + // Set property "Claim": + if claim.Claim != nil { + claim1 := *claim.Claim + result.Claim = &claim1 + } + + // Set property "RequiredValue": + if claim.RequiredValue != nil { + requiredValue := *claim.RequiredValue + result.RequiredValue = &requiredValue + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (claim *TokenRequiredClaim) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenRequiredClaim{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (claim *TokenRequiredClaim) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenRequiredClaim) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenRequiredClaim, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim1 := *typedInput.Claim + claim.Claim = &claim1 + } + + // Set property "RequiredValue": + if typedInput.RequiredValue != nil { + requiredValue := *typedInput.RequiredValue + claim.RequiredValue = &requiredValue + } + + // No error + return nil +} + +// AssignProperties_From_TokenRequiredClaim populates our TokenRequiredClaim from the provided source TokenRequiredClaim +func (claim *TokenRequiredClaim) AssignProperties_From_TokenRequiredClaim(source *storage.TokenRequiredClaim) error { + + // Claim + claim.Claim = genruntime.ClonePointerToString(source.Claim) + + // RequiredValue + claim.RequiredValue = genruntime.ClonePointerToString(source.RequiredValue) + + // No error + return nil +} + +// AssignProperties_To_TokenRequiredClaim populates the provided destination TokenRequiredClaim from our TokenRequiredClaim +func (claim *TokenRequiredClaim) AssignProperties_To_TokenRequiredClaim(destination *storage.TokenRequiredClaim) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(claim.Claim) + + // RequiredValue + destination.RequiredValue = genruntime.ClonePointerToString(claim.RequiredValue) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TokenRequiredClaim_STATUS populates our TokenRequiredClaim from the provided source TokenRequiredClaim_STATUS +func (claim *TokenRequiredClaim) Initialize_From_TokenRequiredClaim_STATUS(source *TokenRequiredClaim_STATUS) error { + + // Claim + claim.Claim = genruntime.ClonePointerToString(source.Claim) + + // RequiredValue + claim.RequiredValue = genruntime.ClonePointerToString(source.RequiredValue) + + // No error + return nil +} + +// Token required claim validation rule. +type TokenRequiredClaim_STATUS struct { + // Claim: Claim name for the validation profile + // claim is a required field that configures the name of the required claim. + Claim *string `json:"claim,omitempty"` + + // RequiredValue: Required value + // requiredValue is a required field that configures the value that 'claim' must + // have when taken from the incoming JWT claims. + // If the value in the JWT claims does not match, the token + // will be rejected for authentication. + RequiredValue *string `json:"requiredValue,omitempty"` +} + +var _ genruntime.FromARMConverter = &TokenRequiredClaim_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (claim *TokenRequiredClaim_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenRequiredClaim_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (claim *TokenRequiredClaim_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenRequiredClaim_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenRequiredClaim_STATUS, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim1 := *typedInput.Claim + claim.Claim = &claim1 + } + + // Set property "RequiredValue": + if typedInput.RequiredValue != nil { + requiredValue := *typedInput.RequiredValue + claim.RequiredValue = &requiredValue + } + + // No error + return nil +} + +// AssignProperties_From_TokenRequiredClaim_STATUS populates our TokenRequiredClaim_STATUS from the provided source TokenRequiredClaim_STATUS +func (claim *TokenRequiredClaim_STATUS) AssignProperties_From_TokenRequiredClaim_STATUS(source *storage.TokenRequiredClaim_STATUS) error { + + // Claim + claim.Claim = genruntime.ClonePointerToString(source.Claim) + + // RequiredValue + claim.RequiredValue = genruntime.ClonePointerToString(source.RequiredValue) + + // No error + return nil +} + +// AssignProperties_To_TokenRequiredClaim_STATUS populates the provided destination TokenRequiredClaim_STATUS from our TokenRequiredClaim_STATUS +func (claim *TokenRequiredClaim_STATUS) AssignProperties_To_TokenRequiredClaim_STATUS(destination *storage.TokenRequiredClaim_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(claim.Claim) + + // RequiredValue + destination.RequiredValue = genruntime.ClonePointerToString(claim.RequiredValue) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=256 + // +kubebuilder:validation:MinLength=1 + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + // otherwise. + Prefix *string `json:"prefix,omitempty"` + + // PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + // applied to the value of the JWT claim specified in the 'claim' field. + // Allowed values are 'Prefix', 'NoPrefix', and 'None'. + // When set to 'Prefix', the value specified in the prefix field will be + // prepended to the value of the JWT claim. + // The prefix field must be set when prefixPolicy is 'Prefix'. + // When set to 'NoPrefix', no prefix will be prepended to the value + // of the JWT claim. + // When set to 'None', this means no opinion and the platform is left to choose + // any prefixes that are applied which is subject to change over time. + // Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + // when the claim is not 'email'. + // As an example, consider the following scenario: + // `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + // the JWT claims include "username":"userA" and "email":"userA + PrefixPolicy *UsernameClaimPrefixPolicy `json:"prefixPolicy,omitempty"` +} + +var _ genruntime.ARMTransformer = &UsernameClaimProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *UsernameClaimProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.UsernameClaimProfile{} + + // Set property "Claim": + if profile.Claim != nil { + claim := *profile.Claim + result.Claim = &claim + } + + // Set property "Prefix": + if profile.Prefix != nil { + prefix := *profile.Prefix + result.Prefix = &prefix + } + + // Set property "PrefixPolicy": + if profile.PrefixPolicy != nil { + var temp string + temp = string(*profile.PrefixPolicy) + prefixPolicy := arm.UsernameClaimPrefixPolicy(temp) + result.PrefixPolicy = &prefixPolicy + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *UsernameClaimProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UsernameClaimProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *UsernameClaimProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UsernameClaimProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UsernameClaimProfile, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim := *typedInput.Claim + profile.Claim = &claim + } + + // Set property "Prefix": + if typedInput.Prefix != nil { + prefix := *typedInput.Prefix + profile.Prefix = &prefix + } + + // Set property "PrefixPolicy": + if typedInput.PrefixPolicy != nil { + var temp string + temp = string(*typedInput.PrefixPolicy) + prefixPolicy := UsernameClaimPrefixPolicy(temp) + profile.PrefixPolicy = &prefixPolicy + } + + // No error + return nil +} + +// AssignProperties_From_UsernameClaimProfile populates our UsernameClaimProfile from the provided source UsernameClaimProfile +func (profile *UsernameClaimProfile) AssignProperties_From_UsernameClaimProfile(source *storage.UsernameClaimProfile) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // PrefixPolicy + if source.PrefixPolicy != nil { + prefixPolicy := *source.PrefixPolicy + prefixPolicyTemp := genruntime.ToEnum(prefixPolicy, usernameClaimPrefixPolicy_Values) + profile.PrefixPolicy = &prefixPolicyTemp + } else { + profile.PrefixPolicy = nil + } + + // No error + return nil +} + +// AssignProperties_To_UsernameClaimProfile populates the provided destination UsernameClaimProfile from our UsernameClaimProfile +func (profile *UsernameClaimProfile) AssignProperties_To_UsernameClaimProfile(destination *storage.UsernameClaimProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(profile.Claim) + + // Prefix + destination.Prefix = genruntime.ClonePointerToString(profile.Prefix) + + // PrefixPolicy + if profile.PrefixPolicy != nil { + prefixPolicy := string(*profile.PrefixPolicy) + destination.PrefixPolicy = &prefixPolicy + } else { + destination.PrefixPolicy = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_UsernameClaimProfile_STATUS populates our UsernameClaimProfile from the provided source UsernameClaimProfile_STATUS +func (profile *UsernameClaimProfile) Initialize_From_UsernameClaimProfile_STATUS(source *UsernameClaimProfile_STATUS) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // PrefixPolicy + if source.PrefixPolicy != nil { + prefixPolicy := genruntime.ToEnum(string(*source.PrefixPolicy), usernameClaimPrefixPolicy_Values) + profile.PrefixPolicy = &prefixPolicy + } else { + profile.PrefixPolicy = nil + } + + // No error + return nil +} + +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile_STATUS struct { + // Claim: Claim name of the external profile + Claim *string `json:"claim,omitempty"` + + // Prefix: Prefix for the claim external profile + // Must be set when the prefixPolicy field is set to 'Prefix' and must be unset + // otherwise. + Prefix *string `json:"prefix,omitempty"` + + // PrefixPolicy: Prefix policy is an optional field that configures how a prefix should be + // applied to the value of the JWT claim specified in the 'claim' field. + // Allowed values are 'Prefix', 'NoPrefix', and 'None'. + // When set to 'Prefix', the value specified in the prefix field will be + // prepended to the value of the JWT claim. + // The prefix field must be set when prefixPolicy is 'Prefix'. + // When set to 'NoPrefix', no prefix will be prepended to the value + // of the JWT claim. + // When set to 'None', this means no opinion and the platform is left to choose + // any prefixes that are applied which is subject to change over time. + // Currently, the platform prepends `{issuerURL}#` to the value of the JWT claim + // when the claim is not 'email'. + // As an example, consider the following scenario: + // `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`, + // the JWT claims include "username":"userA" and "email":"userA + PrefixPolicy *UsernameClaimPrefixPolicy_STATUS `json:"prefixPolicy,omitempty"` +} + +var _ genruntime.FromARMConverter = &UsernameClaimProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *UsernameClaimProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UsernameClaimProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *UsernameClaimProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UsernameClaimProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UsernameClaimProfile_STATUS, got %T", armInput) + } + + // Set property "Claim": + if typedInput.Claim != nil { + claim := *typedInput.Claim + profile.Claim = &claim + } + + // Set property "Prefix": + if typedInput.Prefix != nil { + prefix := *typedInput.Prefix + profile.Prefix = &prefix + } + + // Set property "PrefixPolicy": + if typedInput.PrefixPolicy != nil { + var temp string + temp = string(*typedInput.PrefixPolicy) + prefixPolicy := UsernameClaimPrefixPolicy_STATUS(temp) + profile.PrefixPolicy = &prefixPolicy + } + + // No error + return nil +} + +// AssignProperties_From_UsernameClaimProfile_STATUS populates our UsernameClaimProfile_STATUS from the provided source UsernameClaimProfile_STATUS +func (profile *UsernameClaimProfile_STATUS) AssignProperties_From_UsernameClaimProfile_STATUS(source *storage.UsernameClaimProfile_STATUS) error { + + // Claim + profile.Claim = genruntime.ClonePointerToString(source.Claim) + + // Prefix + profile.Prefix = genruntime.ClonePointerToString(source.Prefix) + + // PrefixPolicy + if source.PrefixPolicy != nil { + prefixPolicy := *source.PrefixPolicy + prefixPolicyTemp := genruntime.ToEnum(prefixPolicy, usernameClaimPrefixPolicy_STATUS_Values) + profile.PrefixPolicy = &prefixPolicyTemp + } else { + profile.PrefixPolicy = nil + } + + // No error + return nil +} + +// AssignProperties_To_UsernameClaimProfile_STATUS populates the provided destination UsernameClaimProfile_STATUS from our UsernameClaimProfile_STATUS +func (profile *UsernameClaimProfile_STATUS) AssignProperties_To_UsernameClaimProfile_STATUS(destination *storage.UsernameClaimProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Claim + destination.Claim = genruntime.ClonePointerToString(profile.Claim) + + // Prefix + destination.Prefix = genruntime.ClonePointerToString(profile.Prefix) + + // PrefixPolicy + if profile.PrefixPolicy != nil { + prefixPolicy := string(*profile.PrefixPolicy) + destination.PrefixPolicy = &prefixPolicy + } else { + destination.PrefixPolicy = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// UsernameClaimPrefixPolicy configures whether to add a prefix to a JWT claim. +// +kubebuilder:validation:Enum={"NoPrefix","None","Prefix"} +type UsernameClaimPrefixPolicy string + +const ( + UsernameClaimPrefixPolicy_NoPrefix = UsernameClaimPrefixPolicy("NoPrefix") + UsernameClaimPrefixPolicy_None = UsernameClaimPrefixPolicy("None") + UsernameClaimPrefixPolicy_Prefix = UsernameClaimPrefixPolicy("Prefix") +) + +// Mapping from string to UsernameClaimPrefixPolicy +var usernameClaimPrefixPolicy_Values = map[string]UsernameClaimPrefixPolicy{ + "noprefix": UsernameClaimPrefixPolicy_NoPrefix, + "none": UsernameClaimPrefixPolicy_None, + "prefix": UsernameClaimPrefixPolicy_Prefix, +} + +// UsernameClaimPrefixPolicy configures whether to add a prefix to a JWT claim. +type UsernameClaimPrefixPolicy_STATUS string + +const ( + UsernameClaimPrefixPolicy_STATUS_NoPrefix = UsernameClaimPrefixPolicy_STATUS("NoPrefix") + UsernameClaimPrefixPolicy_STATUS_None = UsernameClaimPrefixPolicy_STATUS("None") + UsernameClaimPrefixPolicy_STATUS_Prefix = UsernameClaimPrefixPolicy_STATUS("Prefix") +) + +// Mapping from string to UsernameClaimPrefixPolicy_STATUS +var usernameClaimPrefixPolicy_STATUS_Values = map[string]UsernameClaimPrefixPolicy_STATUS{ + "noprefix": UsernameClaimPrefixPolicy_STATUS_NoPrefix, + "none": UsernameClaimPrefixPolicy_STATUS_None, + "prefix": UsernameClaimPrefixPolicy_STATUS_Prefix, +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftClustersExternalAuth{}, &HcpOpenShiftClustersExternalAuthList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen_test.go new file mode 100644 index 00000000000..586ce8519e8 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_external_auth_types_gen_test.go @@ -0,0 +1,2770 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ExternalAuthClaimProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClaimProfile to ExternalAuthClaimProfile via AssignProperties_To_ExternalAuthClaimProfile & AssignProperties_From_ExternalAuthClaimProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClaimProfile, ExternalAuthClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClaimProfile tests if a specific instance of ExternalAuthClaimProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClaimProfile(subject ExternalAuthClaimProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClaimProfile + err := copied.AssignProperties_To_ExternalAuthClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClaimProfile + err = actual.AssignProperties_From_ExternalAuthClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile, ExternalAuthClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile runs a test to see if a specific instance of ExternalAuthClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile(subject ExternalAuthClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile instances for property testing - lazily instantiated by +// ExternalAuthClaimProfileGenerator() +var externalAuthClaimProfileGenerator gopter.Gen + +// ExternalAuthClaimProfileGenerator returns a generator of ExternalAuthClaimProfile instances for property testing. +func ExternalAuthClaimProfileGenerator() gopter.Gen { + if externalAuthClaimProfileGenerator != nil { + return externalAuthClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(generators) + externalAuthClaimProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile{}), generators) + + return externalAuthClaimProfileGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfileGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRuleGenerator()) +} + +func Test_ExternalAuthClaimProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClaimProfile_STATUS to ExternalAuthClaimProfile_STATUS via AssignProperties_To_ExternalAuthClaimProfile_STATUS & AssignProperties_From_ExternalAuthClaimProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClaimProfile_STATUS, ExternalAuthClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClaimProfile_STATUS tests if a specific instance of ExternalAuthClaimProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClaimProfile_STATUS(subject ExternalAuthClaimProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClaimProfile_STATUS + err := copied.AssignProperties_To_ExternalAuthClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClaimProfile_STATUS + err = actual.AssignProperties_From_ExternalAuthClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile_STATUS, ExternalAuthClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile_STATUS runs a test to see if a specific instance of ExternalAuthClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile_STATUS(subject ExternalAuthClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClaimProfile_STATUSGenerator() +var externalAuthClaimProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClaimProfile_STATUSGenerator returns a generator of ExternalAuthClaimProfile_STATUS instances for property testing. +func ExternalAuthClaimProfile_STATUSGenerator() gopter.Gen { + if externalAuthClaimProfile_STATUSGenerator != nil { + return externalAuthClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(generators) + externalAuthClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile_STATUS{}), generators) + + return externalAuthClaimProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfile_STATUSGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRule_STATUSGenerator()) +} + +func Test_ExternalAuthClientComponentProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClientComponentProfile to ExternalAuthClientComponentProfile via AssignProperties_To_ExternalAuthClientComponentProfile & AssignProperties_From_ExternalAuthClientComponentProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClientComponentProfile, ExternalAuthClientComponentProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClientComponentProfile tests if a specific instance of ExternalAuthClientComponentProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClientComponentProfile(subject ExternalAuthClientComponentProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClientComponentProfile + err := copied.AssignProperties_To_ExternalAuthClientComponentProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClientComponentProfile + err = actual.AssignProperties_From_ExternalAuthClientComponentProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClientComponentProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile, ExternalAuthClientComponentProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile runs a test to see if a specific instance of ExternalAuthClientComponentProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile(subject ExternalAuthClientComponentProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfileGenerator() +var externalAuthClientComponentProfileGenerator gopter.Gen + +// ExternalAuthClientComponentProfileGenerator returns a generator of ExternalAuthClientComponentProfile instances for property testing. +func ExternalAuthClientComponentProfileGenerator() gopter.Gen { + if externalAuthClientComponentProfileGenerator != nil { + return externalAuthClientComponentProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(generators) + externalAuthClientComponentProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile{}), generators) + + return externalAuthClientComponentProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientComponentProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClientComponentProfile_STATUS to ExternalAuthClientComponentProfile_STATUS via AssignProperties_To_ExternalAuthClientComponentProfile_STATUS & AssignProperties_From_ExternalAuthClientComponentProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClientComponentProfile_STATUS, ExternalAuthClientComponentProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClientComponentProfile_STATUS tests if a specific instance of ExternalAuthClientComponentProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClientComponentProfile_STATUS(subject ExternalAuthClientComponentProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClientComponentProfile_STATUS + err := copied.AssignProperties_To_ExternalAuthClientComponentProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClientComponentProfile_STATUS + err = actual.AssignProperties_From_ExternalAuthClientComponentProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClientComponentProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS, ExternalAuthClientComponentProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientComponentProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS(subject ExternalAuthClientComponentProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfile_STATUSGenerator() +var externalAuthClientComponentProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientComponentProfile_STATUSGenerator returns a generator of ExternalAuthClientComponentProfile_STATUS instances for property testing. +func ExternalAuthClientComponentProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientComponentProfile_STATUSGenerator != nil { + return externalAuthClientComponentProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(generators) + externalAuthClientComponentProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile_STATUS{}), generators) + + return externalAuthClientComponentProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClientProfile to ExternalAuthClientProfile via AssignProperties_To_ExternalAuthClientProfile & AssignProperties_From_ExternalAuthClientProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClientProfile, ExternalAuthClientProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClientProfile tests if a specific instance of ExternalAuthClientProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClientProfile(subject ExternalAuthClientProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClientProfile + err := copied.AssignProperties_To_ExternalAuthClientProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClientProfile + err = actual.AssignProperties_From_ExternalAuthClientProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClientProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile, ExternalAuthClientProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile runs a test to see if a specific instance of ExternalAuthClientProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile(subject ExternalAuthClientProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile instances for property testing - lazily instantiated by +// ExternalAuthClientProfileGenerator() +var externalAuthClientProfileGenerator gopter.Gen + +// ExternalAuthClientProfileGenerator returns a generator of ExternalAuthClientProfile instances for property testing. +// We first initialize externalAuthClientProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfileGenerator() gopter.Gen { + if externalAuthClientProfileGenerator != nil { + return externalAuthClientProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + return externalAuthClientProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthClientType_Confidential, ExternalAuthClientType_Public)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfileGenerator()) +} + +func Test_ExternalAuthClientProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthClientProfile_STATUS to ExternalAuthClientProfile_STATUS via AssignProperties_To_ExternalAuthClientProfile_STATUS & AssignProperties_From_ExternalAuthClientProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthClientProfile_STATUS, ExternalAuthClientProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthClientProfile_STATUS tests if a specific instance of ExternalAuthClientProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthClientProfile_STATUS(subject ExternalAuthClientProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthClientProfile_STATUS + err := copied.AssignProperties_To_ExternalAuthClientProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthClientProfile_STATUS + err = actual.AssignProperties_From_ExternalAuthClientProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthClientProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile_STATUS, ExternalAuthClientProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile_STATUS(subject ExternalAuthClientProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientProfile_STATUSGenerator() +var externalAuthClientProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientProfile_STATUSGenerator returns a generator of ExternalAuthClientProfile_STATUS instances for property testing. +// We first initialize externalAuthClientProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientProfile_STATUSGenerator != nil { + return externalAuthClientProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + return externalAuthClientProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthClientType_STATUS_Confidential, ExternalAuthClientType_STATUS_Public)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfile_STATUSGenerator()) +} + +func Test_ExternalAuthCondition_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthCondition_STATUS to ExternalAuthCondition_STATUS via AssignProperties_To_ExternalAuthCondition_STATUS & AssignProperties_From_ExternalAuthCondition_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthCondition_STATUS, ExternalAuthCondition_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthCondition_STATUS tests if a specific instance of ExternalAuthCondition_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthCondition_STATUS(subject ExternalAuthCondition_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthCondition_STATUS + err := copied.AssignProperties_To_ExternalAuthCondition_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthCondition_STATUS + err = actual.AssignProperties_From_ExternalAuthCondition_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthCondition_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthCondition_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthCondition_STATUS, ExternalAuthCondition_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthCondition_STATUS runs a test to see if a specific instance of ExternalAuthCondition_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthCondition_STATUS(subject ExternalAuthCondition_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthCondition_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthCondition_STATUS instances for property testing - lazily instantiated by +// ExternalAuthCondition_STATUSGenerator() +var externalAuthCondition_STATUSGenerator gopter.Gen + +// ExternalAuthCondition_STATUSGenerator returns a generator of ExternalAuthCondition_STATUS instances for property testing. +func ExternalAuthCondition_STATUSGenerator() gopter.Gen { + if externalAuthCondition_STATUSGenerator != nil { + return externalAuthCondition_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(generators) + externalAuthCondition_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthCondition_STATUS{}), generators) + + return externalAuthCondition_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(gens map[string]gopter.Gen) { + gens["LastTransitionTime"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Reason"] = gen.PtrOf(gen.AlphaString()) + gens["Status"] = gen.PtrOf(gen.OneConstOf(StatusType_STATUS_False, StatusType_STATUS_True, StatusType_STATUS_Unknown)) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExternalAuthConditionType_STATUS_Available, ExternalAuthConditionType_STATUS_Degraded, ExternalAuthConditionType_STATUS_Progressing)) +} + +func Test_ExternalAuthProperties_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthProperties to ExternalAuthProperties via AssignProperties_To_ExternalAuthProperties & AssignProperties_From_ExternalAuthProperties returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthProperties, ExternalAuthPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthProperties tests if a specific instance of ExternalAuthProperties can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthProperties(subject ExternalAuthProperties) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthProperties + err := copied.AssignProperties_To_ExternalAuthProperties(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthProperties + err = actual.AssignProperties_From_ExternalAuthProperties(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties, ExternalAuthPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties runs a test to see if a specific instance of ExternalAuthProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties(subject ExternalAuthProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties instances for property testing - lazily instantiated by +// ExternalAuthPropertiesGenerator() +var externalAuthPropertiesGenerator gopter.Gen + +// ExternalAuthPropertiesGenerator returns a generator of ExternalAuthProperties instances for property testing. +func ExternalAuthPropertiesGenerator() gopter.Gen { + if externalAuthPropertiesGenerator != nil { + return externalAuthPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthProperties(generators) + externalAuthPropertiesGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties{}), generators) + + return externalAuthPropertiesGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfileGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfileGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfileGenerator()) +} + +func Test_ExternalAuthProperties_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExternalAuthProperties_STATUS to ExternalAuthProperties_STATUS via AssignProperties_To_ExternalAuthProperties_STATUS & AssignProperties_From_ExternalAuthProperties_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExternalAuthProperties_STATUS, ExternalAuthProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExternalAuthProperties_STATUS tests if a specific instance of ExternalAuthProperties_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExternalAuthProperties_STATUS(subject ExternalAuthProperties_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExternalAuthProperties_STATUS + err := copied.AssignProperties_To_ExternalAuthProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExternalAuthProperties_STATUS + err = actual.AssignProperties_From_ExternalAuthProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExternalAuthProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties_STATUS, ExternalAuthProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties_STATUS runs a test to see if a specific instance of ExternalAuthProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties_STATUS(subject ExternalAuthProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties_STATUS instances for property testing - lazily instantiated by +// ExternalAuthProperties_STATUSGenerator() +var externalAuthProperties_STATUSGenerator gopter.Gen + +// ExternalAuthProperties_STATUSGenerator returns a generator of ExternalAuthProperties_STATUS instances for property testing. +// We first initialize externalAuthProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthProperties_STATUSGenerator() gopter.Gen { + if externalAuthProperties_STATUSGenerator != nil { + return externalAuthProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + return externalAuthProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ExternalAuthProvisioningState_STATUS_Accepted, + ExternalAuthProvisioningState_STATUS_AwaitingSecret, + ExternalAuthProvisioningState_STATUS_Canceled, + ExternalAuthProvisioningState_STATUS_Deleting, + ExternalAuthProvisioningState_STATUS_Failed, + ExternalAuthProvisioningState_STATUS_Provisioning, + ExternalAuthProvisioningState_STATUS_Succeeded, + ExternalAuthProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfile_STATUSGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfile_STATUSGenerator()) + gens["Condition"] = gen.PtrOf(ExternalAuthCondition_STATUSGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfile_STATUSGenerator()) +} + +func Test_GroupClaimProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GroupClaimProfile to GroupClaimProfile via AssignProperties_To_GroupClaimProfile & AssignProperties_From_GroupClaimProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForGroupClaimProfile, GroupClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGroupClaimProfile tests if a specific instance of GroupClaimProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGroupClaimProfile(subject GroupClaimProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.GroupClaimProfile + err := copied.AssignProperties_To_GroupClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GroupClaimProfile + err = actual.AssignProperties_From_GroupClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_GroupClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile, GroupClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile runs a test to see if a specific instance of GroupClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile(subject GroupClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile instances for property testing - lazily instantiated by GroupClaimProfileGenerator() +var groupClaimProfileGenerator gopter.Gen + +// GroupClaimProfileGenerator returns a generator of GroupClaimProfile instances for property testing. +func GroupClaimProfileGenerator() gopter.Gen { + if groupClaimProfileGenerator != nil { + return groupClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile(generators) + groupClaimProfileGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile{}), generators) + + return groupClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GroupClaimProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GroupClaimProfile_STATUS to GroupClaimProfile_STATUS via AssignProperties_To_GroupClaimProfile_STATUS & AssignProperties_From_GroupClaimProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForGroupClaimProfile_STATUS, GroupClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGroupClaimProfile_STATUS tests if a specific instance of GroupClaimProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGroupClaimProfile_STATUS(subject GroupClaimProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.GroupClaimProfile_STATUS + err := copied.AssignProperties_To_GroupClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GroupClaimProfile_STATUS + err = actual.AssignProperties_From_GroupClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_GroupClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile_STATUS, GroupClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile_STATUS runs a test to see if a specific instance of GroupClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile_STATUS(subject GroupClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile_STATUS instances for property testing - lazily instantiated by +// GroupClaimProfile_STATUSGenerator() +var groupClaimProfile_STATUSGenerator gopter.Gen + +// GroupClaimProfile_STATUSGenerator returns a generator of GroupClaimProfile_STATUS instances for property testing. +func GroupClaimProfile_STATUSGenerator() gopter.Gen { + if groupClaimProfile_STATUSGenerator != nil { + return groupClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(generators) + groupClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile_STATUS{}), generators) + + return groupClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HcpOpenShiftClustersExternalAuth_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersExternalAuth to hub returns original", + prop.ForAll(RunResourceConversionTestForHcpOpenShiftClustersExternalAuth, HcpOpenShiftClustersExternalAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForHcpOpenShiftClustersExternalAuth tests if a specific instance of HcpOpenShiftClustersExternalAuth round trips to the hub storage version and back losslessly +func RunResourceConversionTestForHcpOpenShiftClustersExternalAuth(subject HcpOpenShiftClustersExternalAuth) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.HcpOpenShiftClustersExternalAuth + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual HcpOpenShiftClustersExternalAuth + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersExternalAuth_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersExternalAuth to HcpOpenShiftClustersExternalAuth via AssignProperties_To_HcpOpenShiftClustersExternalAuth & AssignProperties_From_HcpOpenShiftClustersExternalAuth returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth, HcpOpenShiftClustersExternalAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth tests if a specific instance of HcpOpenShiftClustersExternalAuth can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth(subject HcpOpenShiftClustersExternalAuth) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersExternalAuth + err := copied.AssignProperties_To_HcpOpenShiftClustersExternalAuth(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersExternalAuth + err = actual.AssignProperties_From_HcpOpenShiftClustersExternalAuth(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersExternalAuth_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth, HcpOpenShiftClustersExternalAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth(subject HcpOpenShiftClustersExternalAuth) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuthGenerator() +var hcpOpenShiftClustersExternalAuthGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuthGenerator returns a generator of HcpOpenShiftClustersExternalAuth instances for property testing. +func HcpOpenShiftClustersExternalAuthGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuthGenerator != nil { + return hcpOpenShiftClustersExternalAuthGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth(generators) + hcpOpenShiftClustersExternalAuthGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth{}), generators) + + return hcpOpenShiftClustersExternalAuthGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftClustersExternalAuth_SpecGenerator() + gens["Status"] = HcpOpenShiftClustersExternalAuth_STATUSGenerator() +} + +func Test_HcpOpenShiftClustersExternalAuthOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersExternalAuthOperatorSpec to HcpOpenShiftClustersExternalAuthOperatorSpec via AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec & AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuthOperatorSpec, HcpOpenShiftClustersExternalAuthOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuthOperatorSpec tests if a specific instance of HcpOpenShiftClustersExternalAuthOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuthOperatorSpec(subject HcpOpenShiftClustersExternalAuthOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersExternalAuthOperatorSpec + err := copied.AssignProperties_To_HcpOpenShiftClustersExternalAuthOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersExternalAuthOperatorSpec + err = actual.AssignProperties_From_HcpOpenShiftClustersExternalAuthOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersExternalAuthOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuthOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec, HcpOpenShiftClustersExternalAuthOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuthOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec(subject HcpOpenShiftClustersExternalAuthOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuthOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuthOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuthOperatorSpecGenerator() +var hcpOpenShiftClustersExternalAuthOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuthOperatorSpecGenerator returns a generator of HcpOpenShiftClustersExternalAuthOperatorSpec instances for property testing. +func HcpOpenShiftClustersExternalAuthOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuthOperatorSpecGenerator != nil { + return hcpOpenShiftClustersExternalAuthOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClustersExternalAuthOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuthOperatorSpec{}), generators) + + return hcpOpenShiftClustersExternalAuthOperatorSpecGenerator +} + +func Test_HcpOpenShiftClustersExternalAuth_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersExternalAuth_STATUS to HcpOpenShiftClustersExternalAuth_STATUS via AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS & AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_STATUS, HcpOpenShiftClustersExternalAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_STATUS tests if a specific instance of HcpOpenShiftClustersExternalAuth_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_STATUS(subject HcpOpenShiftClustersExternalAuth_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersExternalAuth_STATUS + err := copied.AssignProperties_To_HcpOpenShiftClustersExternalAuth_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersExternalAuth_STATUS + err = actual.AssignProperties_From_HcpOpenShiftClustersExternalAuth_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersExternalAuth_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS, HcpOpenShiftClustersExternalAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS(subject HcpOpenShiftClustersExternalAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_STATUSGenerator() +var hcpOpenShiftClustersExternalAuth_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_STATUSGenerator returns a generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_STATUSGenerator != nil { + return hcpOpenShiftClustersExternalAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + return hcpOpenShiftClustersExternalAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ExternalAuthProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftClustersExternalAuth_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersExternalAuth_Spec to HcpOpenShiftClustersExternalAuth_Spec via AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec & AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_Spec, HcpOpenShiftClustersExternalAuth_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_Spec tests if a specific instance of HcpOpenShiftClustersExternalAuth_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersExternalAuth_Spec(subject HcpOpenShiftClustersExternalAuth_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersExternalAuth_Spec + err := copied.AssignProperties_To_HcpOpenShiftClustersExternalAuth_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersExternalAuth_Spec + err = actual.AssignProperties_From_HcpOpenShiftClustersExternalAuth_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersExternalAuth_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec, HcpOpenShiftClustersExternalAuth_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec(subject HcpOpenShiftClustersExternalAuth_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_SpecGenerator() +var hcpOpenShiftClustersExternalAuth_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_SpecGenerator returns a generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_SpecGenerator != nil { + return hcpOpenShiftClustersExternalAuth_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + return hcpOpenShiftClustersExternalAuth_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClustersExternalAuthOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(ExternalAuthPropertiesGenerator()) +} + +func Test_TokenClaimMappingsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenClaimMappingsProfile to TokenClaimMappingsProfile via AssignProperties_To_TokenClaimMappingsProfile & AssignProperties_From_TokenClaimMappingsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenClaimMappingsProfile, TokenClaimMappingsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenClaimMappingsProfile tests if a specific instance of TokenClaimMappingsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenClaimMappingsProfile(subject TokenClaimMappingsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenClaimMappingsProfile + err := copied.AssignProperties_To_TokenClaimMappingsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenClaimMappingsProfile + err = actual.AssignProperties_From_TokenClaimMappingsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenClaimMappingsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile, TokenClaimMappingsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile runs a test to see if a specific instance of TokenClaimMappingsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile(subject TokenClaimMappingsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile instances for property testing - lazily instantiated by +// TokenClaimMappingsProfileGenerator() +var tokenClaimMappingsProfileGenerator gopter.Gen + +// TokenClaimMappingsProfileGenerator returns a generator of TokenClaimMappingsProfile instances for property testing. +func TokenClaimMappingsProfileGenerator() gopter.Gen { + if tokenClaimMappingsProfileGenerator != nil { + return tokenClaimMappingsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(generators) + tokenClaimMappingsProfileGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile{}), generators) + + return tokenClaimMappingsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfileGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfileGenerator()) +} + +func Test_TokenClaimMappingsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenClaimMappingsProfile_STATUS to TokenClaimMappingsProfile_STATUS via AssignProperties_To_TokenClaimMappingsProfile_STATUS & AssignProperties_From_TokenClaimMappingsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenClaimMappingsProfile_STATUS, TokenClaimMappingsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenClaimMappingsProfile_STATUS tests if a specific instance of TokenClaimMappingsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenClaimMappingsProfile_STATUS(subject TokenClaimMappingsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenClaimMappingsProfile_STATUS + err := copied.AssignProperties_To_TokenClaimMappingsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenClaimMappingsProfile_STATUS + err = actual.AssignProperties_From_TokenClaimMappingsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenClaimMappingsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS, TokenClaimMappingsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS runs a test to see if a specific instance of TokenClaimMappingsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS(subject TokenClaimMappingsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile_STATUS instances for property testing - lazily instantiated by +// TokenClaimMappingsProfile_STATUSGenerator() +var tokenClaimMappingsProfile_STATUSGenerator gopter.Gen + +// TokenClaimMappingsProfile_STATUSGenerator returns a generator of TokenClaimMappingsProfile_STATUS instances for property testing. +func TokenClaimMappingsProfile_STATUSGenerator() gopter.Gen { + if tokenClaimMappingsProfile_STATUSGenerator != nil { + return tokenClaimMappingsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(generators) + tokenClaimMappingsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile_STATUS{}), generators) + + return tokenClaimMappingsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfile_STATUSGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfile_STATUSGenerator()) +} + +func Test_TokenClaimValidationRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenClaimValidationRule to TokenClaimValidationRule via AssignProperties_To_TokenClaimValidationRule & AssignProperties_From_TokenClaimValidationRule returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenClaimValidationRule, TokenClaimValidationRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenClaimValidationRule tests if a specific instance of TokenClaimValidationRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenClaimValidationRule(subject TokenClaimValidationRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenClaimValidationRule + err := copied.AssignProperties_To_TokenClaimValidationRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenClaimValidationRule + err = actual.AssignProperties_From_TokenClaimValidationRule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenClaimValidationRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule, TokenClaimValidationRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule runs a test to see if a specific instance of TokenClaimValidationRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule(subject TokenClaimValidationRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule instances for property testing - lazily instantiated by +// TokenClaimValidationRuleGenerator() +var tokenClaimValidationRuleGenerator gopter.Gen + +// TokenClaimValidationRuleGenerator returns a generator of TokenClaimValidationRule instances for property testing. +// We first initialize tokenClaimValidationRuleGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRuleGenerator() gopter.Gen { + if tokenClaimValidationRuleGenerator != nil { + return tokenClaimValidationRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + return tokenClaimValidationRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(TokenClaimValidationRule_Type_RequiredClaim)) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaimGenerator()) +} + +func Test_TokenClaimValidationRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenClaimValidationRule_STATUS to TokenClaimValidationRule_STATUS via AssignProperties_To_TokenClaimValidationRule_STATUS & AssignProperties_From_TokenClaimValidationRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenClaimValidationRule_STATUS, TokenClaimValidationRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenClaimValidationRule_STATUS tests if a specific instance of TokenClaimValidationRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenClaimValidationRule_STATUS(subject TokenClaimValidationRule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenClaimValidationRule_STATUS + err := copied.AssignProperties_To_TokenClaimValidationRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenClaimValidationRule_STATUS + err = actual.AssignProperties_From_TokenClaimValidationRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenClaimValidationRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule_STATUS, TokenClaimValidationRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule_STATUS runs a test to see if a specific instance of TokenClaimValidationRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule_STATUS(subject TokenClaimValidationRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule_STATUS instances for property testing - lazily instantiated by +// TokenClaimValidationRule_STATUSGenerator() +var tokenClaimValidationRule_STATUSGenerator gopter.Gen + +// TokenClaimValidationRule_STATUSGenerator returns a generator of TokenClaimValidationRule_STATUS instances for property testing. +// We first initialize tokenClaimValidationRule_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRule_STATUSGenerator() gopter.Gen { + if tokenClaimValidationRule_STATUSGenerator != nil { + return tokenClaimValidationRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + return tokenClaimValidationRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(TokenClaimValidationRule_Type_STATUS_RequiredClaim)) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaim_STATUSGenerator()) +} + +func Test_TokenIssuerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenIssuerProfile to TokenIssuerProfile via AssignProperties_To_TokenIssuerProfile & AssignProperties_From_TokenIssuerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenIssuerProfile, TokenIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenIssuerProfile tests if a specific instance of TokenIssuerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenIssuerProfile(subject TokenIssuerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenIssuerProfile + err := copied.AssignProperties_To_TokenIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenIssuerProfile + err = actual.AssignProperties_From_TokenIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile, TokenIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile runs a test to see if a specific instance of TokenIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile(subject TokenIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile instances for property testing - lazily instantiated by TokenIssuerProfileGenerator() +var tokenIssuerProfileGenerator gopter.Gen + +// TokenIssuerProfileGenerator returns a generator of TokenIssuerProfile instances for property testing. +func TokenIssuerProfileGenerator() gopter.Gen { + if tokenIssuerProfileGenerator != nil { + return tokenIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile(generators) + tokenIssuerProfileGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile{}), generators) + + return tokenIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenIssuerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenIssuerProfile_STATUS to TokenIssuerProfile_STATUS via AssignProperties_To_TokenIssuerProfile_STATUS & AssignProperties_From_TokenIssuerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenIssuerProfile_STATUS, TokenIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenIssuerProfile_STATUS tests if a specific instance of TokenIssuerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenIssuerProfile_STATUS(subject TokenIssuerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenIssuerProfile_STATUS + err := copied.AssignProperties_To_TokenIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenIssuerProfile_STATUS + err = actual.AssignProperties_From_TokenIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile_STATUS, TokenIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile_STATUS runs a test to see if a specific instance of TokenIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile_STATUS(subject TokenIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile_STATUS instances for property testing - lazily instantiated by +// TokenIssuerProfile_STATUSGenerator() +var tokenIssuerProfile_STATUSGenerator gopter.Gen + +// TokenIssuerProfile_STATUSGenerator returns a generator of TokenIssuerProfile_STATUS instances for property testing. +func TokenIssuerProfile_STATUSGenerator() gopter.Gen { + if tokenIssuerProfile_STATUSGenerator != nil { + return tokenIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(generators) + tokenIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile_STATUS{}), generators) + + return tokenIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenRequiredClaim to TokenRequiredClaim via AssignProperties_To_TokenRequiredClaim & AssignProperties_From_TokenRequiredClaim returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenRequiredClaim, TokenRequiredClaimGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenRequiredClaim tests if a specific instance of TokenRequiredClaim can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenRequiredClaim(subject TokenRequiredClaim) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenRequiredClaim + err := copied.AssignProperties_To_TokenRequiredClaim(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenRequiredClaim + err = actual.AssignProperties_From_TokenRequiredClaim(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenRequiredClaim_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim, TokenRequiredClaimGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim runs a test to see if a specific instance of TokenRequiredClaim round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim(subject TokenRequiredClaim) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim instances for property testing - lazily instantiated by TokenRequiredClaimGenerator() +var tokenRequiredClaimGenerator gopter.Gen + +// TokenRequiredClaimGenerator returns a generator of TokenRequiredClaim instances for property testing. +func TokenRequiredClaimGenerator() gopter.Gen { + if tokenRequiredClaimGenerator != nil { + return tokenRequiredClaimGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim(generators) + tokenRequiredClaimGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim{}), generators) + + return tokenRequiredClaimGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenRequiredClaim_STATUS to TokenRequiredClaim_STATUS via AssignProperties_To_TokenRequiredClaim_STATUS & AssignProperties_From_TokenRequiredClaim_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenRequiredClaim_STATUS, TokenRequiredClaim_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenRequiredClaim_STATUS tests if a specific instance of TokenRequiredClaim_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenRequiredClaim_STATUS(subject TokenRequiredClaim_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenRequiredClaim_STATUS + err := copied.AssignProperties_To_TokenRequiredClaim_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenRequiredClaim_STATUS + err = actual.AssignProperties_From_TokenRequiredClaim_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TokenRequiredClaim_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim_STATUS, TokenRequiredClaim_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim_STATUS runs a test to see if a specific instance of TokenRequiredClaim_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim_STATUS(subject TokenRequiredClaim_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim_STATUS instances for property testing - lazily instantiated by +// TokenRequiredClaim_STATUSGenerator() +var tokenRequiredClaim_STATUSGenerator gopter.Gen + +// TokenRequiredClaim_STATUSGenerator returns a generator of TokenRequiredClaim_STATUS instances for property testing. +func TokenRequiredClaim_STATUSGenerator() gopter.Gen { + if tokenRequiredClaim_STATUSGenerator != nil { + return tokenRequiredClaim_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(generators) + tokenRequiredClaim_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim_STATUS{}), generators) + + return tokenRequiredClaim_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UsernameClaimProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UsernameClaimProfile to UsernameClaimProfile via AssignProperties_To_UsernameClaimProfile & AssignProperties_From_UsernameClaimProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForUsernameClaimProfile, UsernameClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUsernameClaimProfile tests if a specific instance of UsernameClaimProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUsernameClaimProfile(subject UsernameClaimProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UsernameClaimProfile + err := copied.AssignProperties_To_UsernameClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UsernameClaimProfile + err = actual.AssignProperties_From_UsernameClaimProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UsernameClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile, UsernameClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile runs a test to see if a specific instance of UsernameClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile(subject UsernameClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile instances for property testing - lazily instantiated by +// UsernameClaimProfileGenerator() +var usernameClaimProfileGenerator gopter.Gen + +// UsernameClaimProfileGenerator returns a generator of UsernameClaimProfile instances for property testing. +func UsernameClaimProfileGenerator() gopter.Gen { + if usernameClaimProfileGenerator != nil { + return usernameClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile(generators) + usernameClaimProfileGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile{}), generators) + + return usernameClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.OneConstOf(UsernameClaimPrefixPolicy_NoPrefix, UsernameClaimPrefixPolicy_None, UsernameClaimPrefixPolicy_Prefix)) +} + +func Test_UsernameClaimProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UsernameClaimProfile_STATUS to UsernameClaimProfile_STATUS via AssignProperties_To_UsernameClaimProfile_STATUS & AssignProperties_From_UsernameClaimProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUsernameClaimProfile_STATUS, UsernameClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUsernameClaimProfile_STATUS tests if a specific instance of UsernameClaimProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUsernameClaimProfile_STATUS(subject UsernameClaimProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UsernameClaimProfile_STATUS + err := copied.AssignProperties_To_UsernameClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UsernameClaimProfile_STATUS + err = actual.AssignProperties_From_UsernameClaimProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UsernameClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile_STATUS, UsernameClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile_STATUS runs a test to see if a specific instance of UsernameClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile_STATUS(subject UsernameClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile_STATUS instances for property testing - lazily instantiated by +// UsernameClaimProfile_STATUSGenerator() +var usernameClaimProfile_STATUSGenerator gopter.Gen + +// UsernameClaimProfile_STATUSGenerator returns a generator of UsernameClaimProfile_STATUS instances for property testing. +func UsernameClaimProfile_STATUSGenerator() gopter.Gen { + if usernameClaimProfile_STATUSGenerator != nil { + return usernameClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(generators) + usernameClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile_STATUS{}), generators) + + return usernameClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.OneConstOf(UsernameClaimPrefixPolicy_STATUS_NoPrefix, UsernameClaimPrefixPolicy_STATUS_None, UsernameClaimPrefixPolicy_STATUS_Prefix)) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen.go new file mode 100644 index 00000000000..b475d86b065 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen.go @@ -0,0 +1,3400 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/arm" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} +type HcpOpenShiftClustersNodePool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftClustersNodePool_Spec `json:"spec,omitempty"` + Status HcpOpenShiftClustersNodePool_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftClustersNodePool{} + +// GetConditions returns the conditions of the resource +func (pool *HcpOpenShiftClustersNodePool) GetConditions() conditions.Conditions { + return pool.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (pool *HcpOpenShiftClustersNodePool) SetConditions(conditions conditions.Conditions) { + pool.Status.Conditions = conditions +} + +var _ conversion.Convertible = &HcpOpenShiftClustersNodePool{} + +// ConvertFrom populates our HcpOpenShiftClustersNodePool from the provided hub HcpOpenShiftClustersNodePool +func (pool *HcpOpenShiftClustersNodePool) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.HcpOpenShiftClustersNodePool) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftClustersNodePool but received %T instead", hub) + } + + return pool.AssignProperties_From_HcpOpenShiftClustersNodePool(source) +} + +// ConvertTo populates the provided hub HcpOpenShiftClustersNodePool from our HcpOpenShiftClustersNodePool +func (pool *HcpOpenShiftClustersNodePool) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.HcpOpenShiftClustersNodePool) + if !ok { + return fmt.Errorf("expected redhatopenshift/v1api20240610preview/storage/HcpOpenShiftClustersNodePool but received %T instead", hub) + } + + return pool.AssignProperties_To_HcpOpenShiftClustersNodePool(destination) +} + +var _ configmaps.Exporter = &HcpOpenShiftClustersNodePool{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (pool *HcpOpenShiftClustersNodePool) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if pool.Spec.OperatorSpec == nil { + return nil + } + return pool.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftClustersNodePool{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (pool *HcpOpenShiftClustersNodePool) SecretDestinationExpressions() []*core.DestinationExpression { + if pool.Spec.OperatorSpec == nil { + return nil + } + return pool.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &HcpOpenShiftClustersNodePool{} + +// InitializeSpec initializes the spec for this resource from the given status +func (pool *HcpOpenShiftClustersNodePool) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*HcpOpenShiftClustersNodePool_STATUS); ok { + return pool.Spec.Initialize_From_HcpOpenShiftClustersNodePool_STATUS(s) + } + + return fmt.Errorf("expected Status of type HcpOpenShiftClustersNodePool_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftClustersNodePool{} + +// AzureName returns the Azure name of the resource +func (pool *HcpOpenShiftClustersNodePool) AzureName() string { + return pool.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (pool HcpOpenShiftClustersNodePool) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (pool *HcpOpenShiftClustersNodePool) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (pool *HcpOpenShiftClustersNodePool) GetSpec() genruntime.ConvertibleSpec { + return &pool.Spec +} + +// GetStatus returns the status of this resource +func (pool *HcpOpenShiftClustersNodePool) GetStatus() genruntime.ConvertibleStatus { + return &pool.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (pool *HcpOpenShiftClustersNodePool) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +func (pool *HcpOpenShiftClustersNodePool) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +} + +// NewEmptyStatus returns a new empty (blank) status +func (pool *HcpOpenShiftClustersNodePool) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftClustersNodePool_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (pool *HcpOpenShiftClustersNodePool) Owner() *genruntime.ResourceReference { + if pool.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(pool.Spec) + return pool.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (pool *HcpOpenShiftClustersNodePool) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftClustersNodePool_STATUS); ok { + pool.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftClustersNodePool_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + pool.Status = st + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersNodePool populates our HcpOpenShiftClustersNodePool from the provided source HcpOpenShiftClustersNodePool +func (pool *HcpOpenShiftClustersNodePool) AssignProperties_From_HcpOpenShiftClustersNodePool(source *storage.HcpOpenShiftClustersNodePool) error { + + // ObjectMeta + pool.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec HcpOpenShiftClustersNodePool_Spec + err := spec.AssignProperties_From_HcpOpenShiftClustersNodePool_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersNodePool_Spec() to populate field Spec") + } + pool.Spec = spec + + // Status + var status HcpOpenShiftClustersNodePool_STATUS + err = status.AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS() to populate field Status") + } + pool.Status = status + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersNodePool populates the provided destination HcpOpenShiftClustersNodePool from our HcpOpenShiftClustersNodePool +func (pool *HcpOpenShiftClustersNodePool) AssignProperties_To_HcpOpenShiftClustersNodePool(destination *storage.HcpOpenShiftClustersNodePool) error { + + // ObjectMeta + destination.ObjectMeta = *pool.ObjectMeta.DeepCopy() + + // Spec + var spec storage.HcpOpenShiftClustersNodePool_Spec + err := pool.Spec.AssignProperties_To_HcpOpenShiftClustersNodePool_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersNodePool_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.HcpOpenShiftClustersNodePool_STATUS + err = pool.Status.AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (pool *HcpOpenShiftClustersNodePool) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: pool.Spec.OriginalVersion(), + Kind: "HcpOpenShiftClustersNodePool", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} +type HcpOpenShiftClustersNodePoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftClustersNodePool `json:"items"` +} + +type HcpOpenShiftClustersNodePool_Spec struct { + // +kubebuilder:validation:Pattern="^[a-zA-Z][-a-zA-Z0-9]{1,13}[a-zA-Z0-9]$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *HcpOpenShiftClustersNodePoolOperatorSpec `json:"operatorSpec,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + Owner *genruntime.KnownResourceReference `group:"redhatopenshift.azure.com" json:"owner,omitempty" kind:"HcpOpenShiftCluster"` + + // Properties: The resource-specific properties for this resource. + Properties *NodePoolProperties `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMTransformer = &HcpOpenShiftClustersNodePool_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (pool *HcpOpenShiftClustersNodePool_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if pool == nil { + return nil, nil + } + result := &arm.HcpOpenShiftClustersNodePool_Spec{} + + // Set property "Identity": + if pool.Identity != nil { + identity_ARM, err := pool.Identity.ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*arm.ManagedServiceIdentity) + result.Identity = &identity + } + + // Set property "Location": + if pool.Location != nil { + location := *pool.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if pool.Properties != nil { + properties_ARM, err := pool.Properties.ConvertToARM(resolved) + if err != nil { + return nil, err + } + properties := *properties_ARM.(*arm.NodePoolProperties) + result.Properties = &properties + } + + // Set property "Tags": + if pool.Tags != nil { + result.Tags = make(map[string]string, len(pool.Tags)) + for key, value := range pool.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (pool *HcpOpenShiftClustersNodePool_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClustersNodePool_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (pool *HcpOpenShiftClustersNodePool_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClustersNodePool_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClustersNodePool_Spec, got %T", armInput) + } + + // Set property "AzureName": + pool.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + pool.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + pool.Location = &location + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + pool.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 NodePoolProperties + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + pool.Properties = &properties + } + + // Set property "Tags": + if typedInput.Tags != nil { + pool.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + pool.Tags[key] = value + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftClustersNodePool_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftClustersNodePool_Spec from the provided source +func (pool *HcpOpenShiftClustersNodePool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.HcpOpenShiftClustersNodePool_Spec) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_HcpOpenShiftClustersNodePool_Spec(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftClustersNodePool_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = pool.AssignProperties_From_HcpOpenShiftClustersNodePool_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftClustersNodePool_Spec +func (pool *HcpOpenShiftClustersNodePool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.HcpOpenShiftClustersNodePool_Spec) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_HcpOpenShiftClustersNodePool_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftClustersNodePool_Spec{} + err := pool.AssignProperties_To_HcpOpenShiftClustersNodePool_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersNodePool_Spec populates our HcpOpenShiftClustersNodePool_Spec from the provided source HcpOpenShiftClustersNodePool_Spec +func (pool *HcpOpenShiftClustersNodePool_Spec) AssignProperties_From_HcpOpenShiftClustersNodePool_Spec(source *storage.HcpOpenShiftClustersNodePool_Spec) error { + + // AzureName + pool.AzureName = source.AzureName + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.AssignProperties_From_ManagedServiceIdentity(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity() to populate field Identity") + } + pool.Identity = &identity + } else { + pool.Identity = nil + } + + // Location + pool.Location = genruntime.ClonePointerToString(source.Location) + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec HcpOpenShiftClustersNodePoolOperatorSpec + err := operatorSpec.AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec() to populate field OperatorSpec") + } + pool.OperatorSpec = &operatorSpec + } else { + pool.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + pool.Owner = &owner + } else { + pool.Owner = nil + } + + // Properties + if source.Properties != nil { + var property NodePoolProperties + err := property.AssignProperties_From_NodePoolProperties(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolProperties() to populate field Properties") + } + pool.Properties = &property + } else { + pool.Properties = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersNodePool_Spec populates the provided destination HcpOpenShiftClustersNodePool_Spec from our HcpOpenShiftClustersNodePool_Spec +func (pool *HcpOpenShiftClustersNodePool_Spec) AssignProperties_To_HcpOpenShiftClustersNodePool_Spec(destination *storage.HcpOpenShiftClustersNodePool_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = pool.AzureName + + // Identity + if pool.Identity != nil { + var identity storage.ManagedServiceIdentity + err := pool.Identity.AssignProperties_To_ManagedServiceIdentity(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(pool.Location) + + // OperatorSpec + if pool.OperatorSpec != nil { + var operatorSpec storage.HcpOpenShiftClustersNodePoolOperatorSpec + err := pool.OperatorSpec.AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = pool.OriginalVersion() + + // Owner + if pool.Owner != nil { + owner := pool.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Properties + if pool.Properties != nil { + var property storage.NodePoolProperties + err := pool.Properties.AssignProperties_To_NodePoolProperties(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolProperties() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HcpOpenShiftClustersNodePool_STATUS populates our HcpOpenShiftClustersNodePool_Spec from the provided source HcpOpenShiftClustersNodePool_STATUS +func (pool *HcpOpenShiftClustersNodePool_Spec) Initialize_From_HcpOpenShiftClustersNodePool_STATUS(source *HcpOpenShiftClustersNodePool_STATUS) error { + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.Initialize_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + pool.Identity = &identity + } else { + pool.Identity = nil + } + + // Location + pool.Location = genruntime.ClonePointerToString(source.Location) + + // Properties + if source.Properties != nil { + var property NodePoolProperties + err := property.Initialize_From_NodePoolProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_NodePoolProperties_STATUS() to populate field Properties") + } + pool.Properties = &property + } else { + pool.Properties = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (pool *HcpOpenShiftClustersNodePool_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (pool *HcpOpenShiftClustersNodePool_Spec) SetAzureName(azureName string) { + pool.AzureName = azureName +} + +type HcpOpenShiftClustersNodePool_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The managed service identities assigned to this resource. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The resource-specific properties for this resource. + Properties *NodePoolProperties_STATUS `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftClustersNodePool_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftClustersNodePool_STATUS from the provided source +func (pool *HcpOpenShiftClustersNodePool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.HcpOpenShiftClustersNodePool_STATUS) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.HcpOpenShiftClustersNodePool_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = pool.AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftClustersNodePool_STATUS +func (pool *HcpOpenShiftClustersNodePool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.HcpOpenShiftClustersNodePool_STATUS) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.HcpOpenShiftClustersNodePool_STATUS{} + err := pool.AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &HcpOpenShiftClustersNodePool_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (pool *HcpOpenShiftClustersNodePool_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HcpOpenShiftClustersNodePool_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (pool *HcpOpenShiftClustersNodePool_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HcpOpenShiftClustersNodePool_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HcpOpenShiftClustersNodePool_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + pool.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + pool.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + pool.Location = &location + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + pool.Name = &name + } + + // Set property "Properties": + if typedInput.Properties != nil { + var properties1 NodePoolProperties_STATUS + err := properties1.PopulateFromARM(owner, *typedInput.Properties) + if err != nil { + return err + } + properties := properties1 + pool.Properties = &properties + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + pool.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + pool.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + pool.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + pool.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS populates our HcpOpenShiftClustersNodePool_STATUS from the provided source HcpOpenShiftClustersNodePool_STATUS +func (pool *HcpOpenShiftClustersNodePool_STATUS) AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS(source *storage.HcpOpenShiftClustersNodePool_STATUS) error { + + // Conditions + pool.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + pool.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity_STATUS + err := identity.AssignProperties_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + pool.Identity = &identity + } else { + pool.Identity = nil + } + + // Location + pool.Location = genruntime.ClonePointerToString(source.Location) + + // Name + pool.Name = genruntime.ClonePointerToString(source.Name) + + // Properties + if source.Properties != nil { + var property NodePoolProperties_STATUS + err := property.AssignProperties_From_NodePoolProperties_STATUS(source.Properties) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolProperties_STATUS() to populate field Properties") + } + pool.Properties = &property + } else { + pool.Properties = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + pool.SystemData = &systemDatum + } else { + pool.SystemData = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + pool.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS populates the provided destination HcpOpenShiftClustersNodePool_STATUS from our HcpOpenShiftClustersNodePool_STATUS +func (pool *HcpOpenShiftClustersNodePool_STATUS) AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS(destination *storage.HcpOpenShiftClustersNodePool_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(pool.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(pool.Id) + + // Identity + if pool.Identity != nil { + var identity storage.ManagedServiceIdentity_STATUS + err := pool.Identity.AssignProperties_To_ManagedServiceIdentity_STATUS(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(pool.Location) + + // Name + destination.Name = genruntime.ClonePointerToString(pool.Name) + + // Properties + if pool.Properties != nil { + var property storage.NodePoolProperties_STATUS + err := pool.Properties.AssignProperties_To_NodePoolProperties_STATUS(&property) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolProperties_STATUS() to populate field Properties") + } + destination.Properties = &property + } else { + destination.Properties = nil + } + + // SystemData + if pool.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := pool.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(pool.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClustersNodePoolOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec populates our HcpOpenShiftClustersNodePoolOperatorSpec from the provided source HcpOpenShiftClustersNodePoolOperatorSpec +func (operator *HcpOpenShiftClustersNodePoolOperatorSpec) AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec(source *storage.HcpOpenShiftClustersNodePoolOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec populates the provided destination HcpOpenShiftClustersNodePoolOperatorSpec from our HcpOpenShiftClustersNodePoolOperatorSpec +func (operator *HcpOpenShiftClustersNodePoolOperatorSpec) AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec(destination *storage.HcpOpenShiftClustersNodePoolOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Represents the node pool properties +type NodePoolProperties struct { + // AutoRepair: Auto-repair + AutoRepair *bool `json:"autoRepair,omitempty"` + + // AutoScaling: Representation of a autoscaling in a node pool. + AutoScaling *NodePoolAutoScaling `json:"autoScaling,omitempty"` + + // Labels: Kubernetes labels to propagate to the NodePool Nodes + // Note that when the labels are updated this is only applied to newly + // create nodes in the Nodepool, existing node labels remain unchanged. + Labels []Label `json:"labels,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are from 0 to 10080 minutes (1 week) . + // 0 means that the NodePool can be drained without any time limitation. + // If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // +kubebuilder:validation:Required + // Platform: Azure node pool platform configuration + Platform *NodePoolPlatformProfile `json:"platform,omitempty"` + + // Replicas: The number of worker nodes, it cannot be used together with autoscaling + Replicas *int `json:"replicas,omitempty"` + + // Taints: Taints for the nodes + Taints []Taint `json:"taints,omitempty"` + + // Version: OpenShift version for the nodepool + Version *NodePoolVersionProfile `json:"version,omitempty"` +} + +var _ genruntime.ARMTransformer = &NodePoolProperties{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (properties *NodePoolProperties) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if properties == nil { + return nil, nil + } + result := &arm.NodePoolProperties{} + + // Set property "AutoRepair": + if properties.AutoRepair != nil { + autoRepair := *properties.AutoRepair + result.AutoRepair = &autoRepair + } + + // Set property "AutoScaling": + if properties.AutoScaling != nil { + autoScaling_ARM, err := properties.AutoScaling.ConvertToARM(resolved) + if err != nil { + return nil, err + } + autoScaling := *autoScaling_ARM.(*arm.NodePoolAutoScaling) + result.AutoScaling = &autoScaling + } + + // Set property "Labels": + for _, item := range properties.Labels { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Labels = append(result.Labels, *item_ARM.(*arm.Label)) + } + + // Set property "NodeDrainTimeoutMinutes": + if properties.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *properties.NodeDrainTimeoutMinutes + result.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if properties.Platform != nil { + platform_ARM, err := properties.Platform.ConvertToARM(resolved) + if err != nil { + return nil, err + } + platform := *platform_ARM.(*arm.NodePoolPlatformProfile) + result.Platform = &platform + } + + // Set property "Replicas": + if properties.Replicas != nil { + replicas := *properties.Replicas + result.Replicas = &replicas + } + + // Set property "Taints": + for _, item := range properties.Taints { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Taints = append(result.Taints, *item_ARM.(*arm.Taint)) + } + + // Set property "Version": + if properties.Version != nil { + version_ARM, err := properties.Version.ConvertToARM(resolved) + if err != nil { + return nil, err + } + version := *version_ARM.(*arm.NodePoolVersionProfile) + result.Version = &version + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *NodePoolProperties) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolProperties{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *NodePoolProperties) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolProperties) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolProperties, got %T", armInput) + } + + // Set property "AutoRepair": + if typedInput.AutoRepair != nil { + autoRepair := *typedInput.AutoRepair + properties.AutoRepair = &autoRepair + } + + // Set property "AutoScaling": + if typedInput.AutoScaling != nil { + var autoScaling1 NodePoolAutoScaling + err := autoScaling1.PopulateFromARM(owner, *typedInput.AutoScaling) + if err != nil { + return err + } + autoScaling := autoScaling1 + properties.AutoScaling = &autoScaling + } + + // Set property "Labels": + for _, item := range typedInput.Labels { + var item1 Label + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Labels = append(properties.Labels, item1) + } + + // Set property "NodeDrainTimeoutMinutes": + if typedInput.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *typedInput.NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if typedInput.Platform != nil { + var platform1 NodePoolPlatformProfile + err := platform1.PopulateFromARM(owner, *typedInput.Platform) + if err != nil { + return err + } + platform := platform1 + properties.Platform = &platform + } + + // Set property "Replicas": + if typedInput.Replicas != nil { + replicas := *typedInput.Replicas + properties.Replicas = &replicas + } + + // Set property "Taints": + for _, item := range typedInput.Taints { + var item1 Taint + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Taints = append(properties.Taints, item1) + } + + // Set property "Version": + if typedInput.Version != nil { + var version1 NodePoolVersionProfile + err := version1.PopulateFromARM(owner, *typedInput.Version) + if err != nil { + return err + } + version := version1 + properties.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolProperties populates our NodePoolProperties from the provided source NodePoolProperties +func (properties *NodePoolProperties) AssignProperties_From_NodePoolProperties(source *storage.NodePoolProperties) error { + + // AutoRepair + if source.AutoRepair != nil { + autoRepair := *source.AutoRepair + properties.AutoRepair = &autoRepair + } else { + properties.AutoRepair = nil + } + + // AutoScaling + if source.AutoScaling != nil { + var autoScaling NodePoolAutoScaling + err := autoScaling.AssignProperties_From_NodePoolAutoScaling(source.AutoScaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolAutoScaling() to populate field AutoScaling") + } + properties.AutoScaling = &autoScaling + } else { + properties.AutoScaling = nil + } + + // Labels + if source.Labels != nil { + labelList := make([]Label, len(source.Labels)) + for labelIndex, labelItem := range source.Labels { + var label Label + err := label.AssignProperties_From_Label(&labelItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Label() to populate field Labels") + } + labelList[labelIndex] = label + } + properties.Labels = labelList + } else { + properties.Labels = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform NodePoolPlatformProfile + err := platform.AssignProperties_From_NodePoolPlatformProfile(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolPlatformProfile() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // Replicas + properties.Replicas = genruntime.ClonePointerToInt(source.Replicas) + + // Taints + if source.Taints != nil { + taintList := make([]Taint, len(source.Taints)) + for taintIndex, taintItem := range source.Taints { + var taint Taint + err := taint.AssignProperties_From_Taint(&taintItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Taint() to populate field Taints") + } + taintList[taintIndex] = taint + } + properties.Taints = taintList + } else { + properties.Taints = nil + } + + // Version + if source.Version != nil { + var version NodePoolVersionProfile + err := version.AssignProperties_From_NodePoolVersionProfile(source.Version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolVersionProfile() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_NodePoolProperties populates the provided destination NodePoolProperties from our NodePoolProperties +func (properties *NodePoolProperties) AssignProperties_To_NodePoolProperties(destination *storage.NodePoolProperties) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AutoRepair + if properties.AutoRepair != nil { + autoRepair := *properties.AutoRepair + destination.AutoRepair = &autoRepair + } else { + destination.AutoRepair = nil + } + + // AutoScaling + if properties.AutoScaling != nil { + var autoScaling storage.NodePoolAutoScaling + err := properties.AutoScaling.AssignProperties_To_NodePoolAutoScaling(&autoScaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolAutoScaling() to populate field AutoScaling") + } + destination.AutoScaling = &autoScaling + } else { + destination.AutoScaling = nil + } + + // Labels + if properties.Labels != nil { + labelList := make([]storage.Label, len(properties.Labels)) + for labelIndex, labelItem := range properties.Labels { + var label storage.Label + err := labelItem.AssignProperties_To_Label(&label) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Label() to populate field Labels") + } + labelList[labelIndex] = label + } + destination.Labels = labelList + } else { + destination.Labels = nil + } + + // NodeDrainTimeoutMinutes + destination.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(properties.NodeDrainTimeoutMinutes) + + // Platform + if properties.Platform != nil { + var platform storage.NodePoolPlatformProfile + err := properties.Platform.AssignProperties_To_NodePoolPlatformProfile(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolPlatformProfile() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // Replicas + destination.Replicas = genruntime.ClonePointerToInt(properties.Replicas) + + // Taints + if properties.Taints != nil { + taintList := make([]storage.Taint, len(properties.Taints)) + for taintIndex, taintItem := range properties.Taints { + var taint storage.Taint + err := taintItem.AssignProperties_To_Taint(&taint) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Taint() to populate field Taints") + } + taintList[taintIndex] = taint + } + destination.Taints = taintList + } else { + destination.Taints = nil + } + + // Version + if properties.Version != nil { + var version storage.NodePoolVersionProfile + err := properties.Version.AssignProperties_To_NodePoolVersionProfile(&version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolVersionProfile() to populate field Version") + } + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_NodePoolProperties_STATUS populates our NodePoolProperties from the provided source NodePoolProperties_STATUS +func (properties *NodePoolProperties) Initialize_From_NodePoolProperties_STATUS(source *NodePoolProperties_STATUS) error { + + // AutoRepair + if source.AutoRepair != nil { + autoRepair := *source.AutoRepair + properties.AutoRepair = &autoRepair + } else { + properties.AutoRepair = nil + } + + // AutoScaling + if source.AutoScaling != nil { + var autoScaling NodePoolAutoScaling + err := autoScaling.Initialize_From_NodePoolAutoScaling_STATUS(source.AutoScaling) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_NodePoolAutoScaling_STATUS() to populate field AutoScaling") + } + properties.AutoScaling = &autoScaling + } else { + properties.AutoScaling = nil + } + + // Labels + if source.Labels != nil { + labelList := make([]Label, len(source.Labels)) + for labelIndex, labelItem := range source.Labels { + var label Label + err := label.Initialize_From_Label_STATUS(&labelItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Label_STATUS() to populate field Labels") + } + labelList[labelIndex] = label + } + properties.Labels = labelList + } else { + properties.Labels = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform NodePoolPlatformProfile + err := platform.Initialize_From_NodePoolPlatformProfile_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_NodePoolPlatformProfile_STATUS() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // Replicas + properties.Replicas = genruntime.ClonePointerToInt(source.Replicas) + + // Taints + if source.Taints != nil { + taintList := make([]Taint, len(source.Taints)) + for taintIndex, taintItem := range source.Taints { + var taint Taint + err := taint.Initialize_From_Taint_STATUS(&taintItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Taint_STATUS() to populate field Taints") + } + taintList[taintIndex] = taint + } + properties.Taints = taintList + } else { + properties.Taints = nil + } + + // Version + if source.Version != nil { + var version NodePoolVersionProfile + err := version.Initialize_From_NodePoolVersionProfile_STATUS(source.Version) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_NodePoolVersionProfile_STATUS() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// Represents the node pool properties +type NodePoolProperties_STATUS struct { + // AutoRepair: Auto-repair + AutoRepair *bool `json:"autoRepair,omitempty"` + + // AutoScaling: Representation of a autoscaling in a node pool. + AutoScaling *NodePoolAutoScaling_STATUS `json:"autoScaling,omitempty"` + + // Labels: Kubernetes labels to propagate to the NodePool Nodes + // Note that when the labels are updated this is only applied to newly + // create nodes in the Nodepool, existing node labels remain unchanged. + Labels []Label_STATUS `json:"labels,omitempty"` + + // NodeDrainTimeoutMinutes: nodeDrainTimeoutMinutes is the grace period for how long Pod Disruption Budget-protected + // workloads will be + // respected during any node draining operation. After this grace period, any workloads protected by Pod Disruption + // Budgets that have not been successfully drained from a node will be forcibly evicted. This is + // especially relevant to cluster upgrades. + // Valid values are from 0 to 10080 minutes (1 week) . + // 0 means that the NodePool can be drained without any time limitation. + // If unset the cluster nodeDrainTimeoutMinutes value is used as a default. + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + + // Platform: Azure node pool platform configuration + Platform *NodePoolPlatformProfile_STATUS `json:"platform,omitempty"` + + // ProvisioningState: Provisioning state + ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Replicas: The number of worker nodes, it cannot be used together with autoscaling + Replicas *int `json:"replicas,omitempty"` + + // Taints: Taints for the nodes + Taints []Taint_STATUS `json:"taints,omitempty"` + + // Version: OpenShift version for the nodepool + Version *NodePoolVersionProfile_STATUS `json:"version,omitempty"` +} + +var _ genruntime.FromARMConverter = &NodePoolProperties_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *NodePoolProperties_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolProperties_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *NodePoolProperties_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolProperties_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolProperties_STATUS, got %T", armInput) + } + + // Set property "AutoRepair": + if typedInput.AutoRepair != nil { + autoRepair := *typedInput.AutoRepair + properties.AutoRepair = &autoRepair + } + + // Set property "AutoScaling": + if typedInput.AutoScaling != nil { + var autoScaling1 NodePoolAutoScaling_STATUS + err := autoScaling1.PopulateFromARM(owner, *typedInput.AutoScaling) + if err != nil { + return err + } + autoScaling := autoScaling1 + properties.AutoScaling = &autoScaling + } + + // Set property "Labels": + for _, item := range typedInput.Labels { + var item1 Label_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Labels = append(properties.Labels, item1) + } + + // Set property "NodeDrainTimeoutMinutes": + if typedInput.NodeDrainTimeoutMinutes != nil { + nodeDrainTimeoutMinutes := *typedInput.NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = &nodeDrainTimeoutMinutes + } + + // Set property "Platform": + if typedInput.Platform != nil { + var platform1 NodePoolPlatformProfile_STATUS + err := platform1.PopulateFromARM(owner, *typedInput.Platform) + if err != nil { + return err + } + platform := platform1 + properties.Platform = &platform + } + + // Set property "ProvisioningState": + if typedInput.ProvisioningState != nil { + var temp string + temp = string(*typedInput.ProvisioningState) + provisioningState := ProvisioningState_STATUS(temp) + properties.ProvisioningState = &provisioningState + } + + // Set property "Replicas": + if typedInput.Replicas != nil { + replicas := *typedInput.Replicas + properties.Replicas = &replicas + } + + // Set property "Taints": + for _, item := range typedInput.Taints { + var item1 Taint_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + properties.Taints = append(properties.Taints, item1) + } + + // Set property "Version": + if typedInput.Version != nil { + var version1 NodePoolVersionProfile_STATUS + err := version1.PopulateFromARM(owner, *typedInput.Version) + if err != nil { + return err + } + version := version1 + properties.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolProperties_STATUS populates our NodePoolProperties_STATUS from the provided source NodePoolProperties_STATUS +func (properties *NodePoolProperties_STATUS) AssignProperties_From_NodePoolProperties_STATUS(source *storage.NodePoolProperties_STATUS) error { + + // AutoRepair + if source.AutoRepair != nil { + autoRepair := *source.AutoRepair + properties.AutoRepair = &autoRepair + } else { + properties.AutoRepair = nil + } + + // AutoScaling + if source.AutoScaling != nil { + var autoScaling NodePoolAutoScaling_STATUS + err := autoScaling.AssignProperties_From_NodePoolAutoScaling_STATUS(source.AutoScaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolAutoScaling_STATUS() to populate field AutoScaling") + } + properties.AutoScaling = &autoScaling + } else { + properties.AutoScaling = nil + } + + // Labels + if source.Labels != nil { + labelList := make([]Label_STATUS, len(source.Labels)) + for labelIndex, labelItem := range source.Labels { + var label Label_STATUS + err := label.AssignProperties_From_Label_STATUS(&labelItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Label_STATUS() to populate field Labels") + } + labelList[labelIndex] = label + } + properties.Labels = labelList + } else { + properties.Labels = nil + } + + // NodeDrainTimeoutMinutes + properties.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(source.NodeDrainTimeoutMinutes) + + // Platform + if source.Platform != nil { + var platform NodePoolPlatformProfile_STATUS + err := platform.AssignProperties_From_NodePoolPlatformProfile_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolPlatformProfile_STATUS() to populate field Platform") + } + properties.Platform = &platform + } else { + properties.Platform = nil + } + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, provisioningState_STATUS_Values) + properties.ProvisioningState = &provisioningStateTemp + } else { + properties.ProvisioningState = nil + } + + // Replicas + properties.Replicas = genruntime.ClonePointerToInt(source.Replicas) + + // Taints + if source.Taints != nil { + taintList := make([]Taint_STATUS, len(source.Taints)) + for taintIndex, taintItem := range source.Taints { + var taint Taint_STATUS + err := taint.AssignProperties_From_Taint_STATUS(&taintItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Taint_STATUS() to populate field Taints") + } + taintList[taintIndex] = taint + } + properties.Taints = taintList + } else { + properties.Taints = nil + } + + // Version + if source.Version != nil { + var version NodePoolVersionProfile_STATUS + err := version.AssignProperties_From_NodePoolVersionProfile_STATUS(source.Version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_NodePoolVersionProfile_STATUS() to populate field Version") + } + properties.Version = &version + } else { + properties.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_NodePoolProperties_STATUS populates the provided destination NodePoolProperties_STATUS from our NodePoolProperties_STATUS +func (properties *NodePoolProperties_STATUS) AssignProperties_To_NodePoolProperties_STATUS(destination *storage.NodePoolProperties_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AutoRepair + if properties.AutoRepair != nil { + autoRepair := *properties.AutoRepair + destination.AutoRepair = &autoRepair + } else { + destination.AutoRepair = nil + } + + // AutoScaling + if properties.AutoScaling != nil { + var autoScaling storage.NodePoolAutoScaling_STATUS + err := properties.AutoScaling.AssignProperties_To_NodePoolAutoScaling_STATUS(&autoScaling) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolAutoScaling_STATUS() to populate field AutoScaling") + } + destination.AutoScaling = &autoScaling + } else { + destination.AutoScaling = nil + } + + // Labels + if properties.Labels != nil { + labelList := make([]storage.Label_STATUS, len(properties.Labels)) + for labelIndex, labelItem := range properties.Labels { + var label storage.Label_STATUS + err := labelItem.AssignProperties_To_Label_STATUS(&label) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Label_STATUS() to populate field Labels") + } + labelList[labelIndex] = label + } + destination.Labels = labelList + } else { + destination.Labels = nil + } + + // NodeDrainTimeoutMinutes + destination.NodeDrainTimeoutMinutes = genruntime.ClonePointerToInt(properties.NodeDrainTimeoutMinutes) + + // Platform + if properties.Platform != nil { + var platform storage.NodePoolPlatformProfile_STATUS + err := properties.Platform.AssignProperties_To_NodePoolPlatformProfile_STATUS(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolPlatformProfile_STATUS() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // ProvisioningState + if properties.ProvisioningState != nil { + provisioningState := string(*properties.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // Replicas + destination.Replicas = genruntime.ClonePointerToInt(properties.Replicas) + + // Taints + if properties.Taints != nil { + taintList := make([]storage.Taint_STATUS, len(properties.Taints)) + for taintIndex, taintItem := range properties.Taints { + var taint storage.Taint_STATUS + err := taintItem.AssignProperties_To_Taint_STATUS(&taint) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Taint_STATUS() to populate field Taints") + } + taintList[taintIndex] = taint + } + destination.Taints = taintList + } else { + destination.Taints = nil + } + + // Version + if properties.Version != nil { + var version storage.NodePoolVersionProfile_STATUS + err := properties.Version.AssignProperties_To_NodePoolVersionProfile_STATUS(&version) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_NodePoolVersionProfile_STATUS() to populate field Version") + } + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Label represents the Kubernetes label +type Label struct { + // +kubebuilder:validation:Required + // Key: The key of the label + Key *string `json:"key,omitempty"` + + // Value: The value of the label + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &Label{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (label *Label) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if label == nil { + return nil, nil + } + result := &arm.Label{} + + // Set property "Key": + if label.Key != nil { + key := *label.Key + result.Key = &key + } + + // Set property "Value": + if label.Value != nil { + value := *label.Value + result.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (label *Label) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Label{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (label *Label) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Label) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Label, got %T", armInput) + } + + // Set property "Key": + if typedInput.Key != nil { + key := *typedInput.Key + label.Key = &key + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + label.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_Label populates our Label from the provided source Label +func (label *Label) AssignProperties_From_Label(source *storage.Label) error { + + // Key + label.Key = genruntime.ClonePointerToString(source.Key) + + // Value + label.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_Label populates the provided destination Label from our Label +func (label *Label) AssignProperties_To_Label(destination *storage.Label) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Key + destination.Key = genruntime.ClonePointerToString(label.Key) + + // Value + destination.Value = genruntime.ClonePointerToString(label.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Label_STATUS populates our Label from the provided source Label_STATUS +func (label *Label) Initialize_From_Label_STATUS(source *Label_STATUS) error { + + // Key + label.Key = genruntime.ClonePointerToString(source.Key) + + // Value + label.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// Label represents the Kubernetes label +type Label_STATUS struct { + // Key: The key of the label + Key *string `json:"key,omitempty"` + + // Value: The value of the label + Value *string `json:"value,omitempty"` +} + +var _ genruntime.FromARMConverter = &Label_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (label *Label_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Label_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (label *Label_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Label_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Label_STATUS, got %T", armInput) + } + + // Set property "Key": + if typedInput.Key != nil { + key := *typedInput.Key + label.Key = &key + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + label.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_Label_STATUS populates our Label_STATUS from the provided source Label_STATUS +func (label *Label_STATUS) AssignProperties_From_Label_STATUS(source *storage.Label_STATUS) error { + + // Key + label.Key = genruntime.ClonePointerToString(source.Key) + + // Value + label.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_Label_STATUS populates the provided destination Label_STATUS from our Label_STATUS +func (label *Label_STATUS) AssignProperties_To_Label_STATUS(destination *storage.Label_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Key + destination.Key = genruntime.ClonePointerToString(label.Key) + + // Value + destination.Value = genruntime.ClonePointerToString(label.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Node pool autoscaling +type NodePoolAutoScaling struct { + // +kubebuilder:validation:Minimum=0 + // Max: The maximum number of nodes in the node pool + Max *int `json:"max,omitempty"` + + // +kubebuilder:validation:Minimum=0 + // Min: The minimum number of nodes in the node pool + Min *int `json:"min,omitempty"` +} + +var _ genruntime.ARMTransformer = &NodePoolAutoScaling{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (scaling *NodePoolAutoScaling) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if scaling == nil { + return nil, nil + } + result := &arm.NodePoolAutoScaling{} + + // Set property "Max": + if scaling.Max != nil { + max := *scaling.Max + result.Max = &max + } + + // Set property "Min": + if scaling.Min != nil { + min := *scaling.Min + result.Min = &min + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scaling *NodePoolAutoScaling) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolAutoScaling{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scaling *NodePoolAutoScaling) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolAutoScaling) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolAutoScaling, got %T", armInput) + } + + // Set property "Max": + if typedInput.Max != nil { + max := *typedInput.Max + scaling.Max = &max + } + + // Set property "Min": + if typedInput.Min != nil { + min := *typedInput.Min + scaling.Min = &min + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolAutoScaling populates our NodePoolAutoScaling from the provided source NodePoolAutoScaling +func (scaling *NodePoolAutoScaling) AssignProperties_From_NodePoolAutoScaling(source *storage.NodePoolAutoScaling) error { + + // Max + scaling.Max = genruntime.ClonePointerToInt(source.Max) + + // Min + scaling.Min = genruntime.ClonePointerToInt(source.Min) + + // No error + return nil +} + +// AssignProperties_To_NodePoolAutoScaling populates the provided destination NodePoolAutoScaling from our NodePoolAutoScaling +func (scaling *NodePoolAutoScaling) AssignProperties_To_NodePoolAutoScaling(destination *storage.NodePoolAutoScaling) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Max + destination.Max = genruntime.ClonePointerToInt(scaling.Max) + + // Min + destination.Min = genruntime.ClonePointerToInt(scaling.Min) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_NodePoolAutoScaling_STATUS populates our NodePoolAutoScaling from the provided source NodePoolAutoScaling_STATUS +func (scaling *NodePoolAutoScaling) Initialize_From_NodePoolAutoScaling_STATUS(source *NodePoolAutoScaling_STATUS) error { + + // Max + scaling.Max = genruntime.ClonePointerToInt(source.Max) + + // Min + scaling.Min = genruntime.ClonePointerToInt(source.Min) + + // No error + return nil +} + +// Node pool autoscaling +type NodePoolAutoScaling_STATUS struct { + // Max: The maximum number of nodes in the node pool + Max *int `json:"max,omitempty"` + + // Min: The minimum number of nodes in the node pool + Min *int `json:"min,omitempty"` +} + +var _ genruntime.FromARMConverter = &NodePoolAutoScaling_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scaling *NodePoolAutoScaling_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolAutoScaling_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scaling *NodePoolAutoScaling_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolAutoScaling_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolAutoScaling_STATUS, got %T", armInput) + } + + // Set property "Max": + if typedInput.Max != nil { + max := *typedInput.Max + scaling.Max = &max + } + + // Set property "Min": + if typedInput.Min != nil { + min := *typedInput.Min + scaling.Min = &min + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolAutoScaling_STATUS populates our NodePoolAutoScaling_STATUS from the provided source NodePoolAutoScaling_STATUS +func (scaling *NodePoolAutoScaling_STATUS) AssignProperties_From_NodePoolAutoScaling_STATUS(source *storage.NodePoolAutoScaling_STATUS) error { + + // Max + scaling.Max = genruntime.ClonePointerToInt(source.Max) + + // Min + scaling.Min = genruntime.ClonePointerToInt(source.Min) + + // No error + return nil +} + +// AssignProperties_To_NodePoolAutoScaling_STATUS populates the provided destination NodePoolAutoScaling_STATUS from our NodePoolAutoScaling_STATUS +func (scaling *NodePoolAutoScaling_STATUS) AssignProperties_To_NodePoolAutoScaling_STATUS(destination *storage.NodePoolAutoScaling_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Max + destination.Max = genruntime.ClonePointerToInt(scaling.Max) + + // Min + destination.Min = genruntime.ClonePointerToInt(scaling.Min) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Azure node pool platform configuration +type NodePoolPlatformProfile struct { + // AvailabilityZone: The availability zone for the node pool. + // Please read the documentation to see which regions support availability zones + // - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + // - + // https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // OsDisk: The settings and configuration options for OSDisk + OsDisk *OsDiskProfile `json:"osDisk,omitempty"` + + // SubnetReference: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters, however the + // same subnet can be used for NodePools of the same cluster. + SubnetReference *genruntime.ResourceReference `armReference:"SubnetId" json:"subnetReference,omitempty"` + + // +kubebuilder:validation:Required + // VmSize: The VM size according to the documentation: + // - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + VmSize *string `json:"vmSize,omitempty"` +} + +var _ genruntime.ARMTransformer = &NodePoolPlatformProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *NodePoolPlatformProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.NodePoolPlatformProfile{} + + // Set property "AvailabilityZone": + if profile.AvailabilityZone != nil { + availabilityZone := *profile.AvailabilityZone + result.AvailabilityZone = &availabilityZone + } + + // Set property "EnableEncryptionAtHost": + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + result.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "OsDisk": + if profile.OsDisk != nil { + osDisk_ARM, err := profile.OsDisk.ConvertToARM(resolved) + if err != nil { + return nil, err + } + osDisk := *osDisk_ARM.(*arm.OsDiskProfile) + result.OsDisk = &osDisk + } + + // Set property "SubnetId": + if profile.SubnetReference != nil { + subnetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.SubnetReference) + if err != nil { + return nil, err + } + subnetReference := subnetReferenceARMID + result.SubnetId = &subnetReference + } + + // Set property "VmSize": + if profile.VmSize != nil { + vmSize := *profile.VmSize + result.VmSize = &vmSize + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NodePoolPlatformProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolPlatformProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NodePoolPlatformProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolPlatformProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolPlatformProfile, got %T", armInput) + } + + // Set property "AvailabilityZone": + if typedInput.AvailabilityZone != nil { + availabilityZone := *typedInput.AvailabilityZone + profile.AvailabilityZone = &availabilityZone + } + + // Set property "EnableEncryptionAtHost": + if typedInput.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "OsDisk": + if typedInput.OsDisk != nil { + var osDisk1 OsDiskProfile + err := osDisk1.PopulateFromARM(owner, *typedInput.OsDisk) + if err != nil { + return err + } + osDisk := osDisk1 + profile.OsDisk = &osDisk + } + + // no assignment for property "SubnetReference" + + // Set property "VmSize": + if typedInput.VmSize != nil { + vmSize := *typedInput.VmSize + profile.VmSize = &vmSize + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolPlatformProfile populates our NodePoolPlatformProfile from the provided source NodePoolPlatformProfile +func (profile *NodePoolPlatformProfile) AssignProperties_From_NodePoolPlatformProfile(source *storage.NodePoolPlatformProfile) error { + + // AvailabilityZone + profile.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // OsDisk + if source.OsDisk != nil { + var osDisk OsDiskProfile + err := osDisk.AssignProperties_From_OsDiskProfile(source.OsDisk) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OsDiskProfile() to populate field OsDisk") + } + profile.OsDisk = &osDisk + } else { + profile.OsDisk = nil + } + + // SubnetReference + if source.SubnetReference != nil { + subnetReference := source.SubnetReference.Copy() + profile.SubnetReference = &subnetReference + } else { + profile.SubnetReference = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // No error + return nil +} + +// AssignProperties_To_NodePoolPlatformProfile populates the provided destination NodePoolPlatformProfile from our NodePoolPlatformProfile +func (profile *NodePoolPlatformProfile) AssignProperties_To_NodePoolPlatformProfile(destination *storage.NodePoolPlatformProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(profile.AvailabilityZone) + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // OsDisk + if profile.OsDisk != nil { + var osDisk storage.OsDiskProfile + err := profile.OsDisk.AssignProperties_To_OsDiskProfile(&osDisk) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OsDiskProfile() to populate field OsDisk") + } + destination.OsDisk = &osDisk + } else { + destination.OsDisk = nil + } + + // SubnetReference + if profile.SubnetReference != nil { + subnetReference := profile.SubnetReference.Copy() + destination.SubnetReference = &subnetReference + } else { + destination.SubnetReference = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_NodePoolPlatformProfile_STATUS populates our NodePoolPlatformProfile from the provided source NodePoolPlatformProfile_STATUS +func (profile *NodePoolPlatformProfile) Initialize_From_NodePoolPlatformProfile_STATUS(source *NodePoolPlatformProfile_STATUS) error { + + // AvailabilityZone + profile.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // OsDisk + if source.OsDisk != nil { + var osDisk OsDiskProfile + err := osDisk.Initialize_From_OsDiskProfile_STATUS(source.OsDisk) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OsDiskProfile_STATUS() to populate field OsDisk") + } + profile.OsDisk = &osDisk + } else { + profile.OsDisk = nil + } + + // SubnetReference + if source.SubnetId != nil { + subnetReference := genruntime.CreateResourceReferenceFromARMID(*source.SubnetId) + profile.SubnetReference = &subnetReference + } else { + profile.SubnetReference = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // No error + return nil +} + +// Azure node pool platform configuration +type NodePoolPlatformProfile_STATUS struct { + // AvailabilityZone: The availability zone for the node pool. + // Please read the documentation to see which regions support availability zones + // - https://learn.microsoft.com/en-us/azure/availability-zones/az-overview + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // EnableEncryptionAtHost: Whether to enable host based OS and data drive encryption. + // - + // https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host---end-to-end-encryption-for-your-vm-data + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // OsDisk: The settings and configuration options for OSDisk + OsDisk *OsDiskProfile_STATUS `json:"osDisk,omitempty"` + + // SubnetId: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters, however the + // same subnet can be used for NodePools of the same cluster. + SubnetId *string `json:"subnetId,omitempty"` + + // VmSize: The VM size according to the documentation: + // - https://learn.microsoft.com/en-us/azure/virtual-machines/sizes + VmSize *string `json:"vmSize,omitempty"` +} + +var _ genruntime.FromARMConverter = &NodePoolPlatformProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NodePoolPlatformProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolPlatformProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NodePoolPlatformProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolPlatformProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolPlatformProfile_STATUS, got %T", armInput) + } + + // Set property "AvailabilityZone": + if typedInput.AvailabilityZone != nil { + availabilityZone := *typedInput.AvailabilityZone + profile.AvailabilityZone = &availabilityZone + } + + // Set property "EnableEncryptionAtHost": + if typedInput.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "OsDisk": + if typedInput.OsDisk != nil { + var osDisk1 OsDiskProfile_STATUS + err := osDisk1.PopulateFromARM(owner, *typedInput.OsDisk) + if err != nil { + return err + } + osDisk := osDisk1 + profile.OsDisk = &osDisk + } + + // Set property "SubnetId": + if typedInput.SubnetId != nil { + subnetId := *typedInput.SubnetId + profile.SubnetId = &subnetId + } + + // Set property "VmSize": + if typedInput.VmSize != nil { + vmSize := *typedInput.VmSize + profile.VmSize = &vmSize + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolPlatformProfile_STATUS populates our NodePoolPlatformProfile_STATUS from the provided source NodePoolPlatformProfile_STATUS +func (profile *NodePoolPlatformProfile_STATUS) AssignProperties_From_NodePoolPlatformProfile_STATUS(source *storage.NodePoolPlatformProfile_STATUS) error { + + // AvailabilityZone + profile.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // OsDisk + if source.OsDisk != nil { + var osDisk OsDiskProfile_STATUS + err := osDisk.AssignProperties_From_OsDiskProfile_STATUS(source.OsDisk) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OsDiskProfile_STATUS() to populate field OsDisk") + } + profile.OsDisk = &osDisk + } else { + profile.OsDisk = nil + } + + // SubnetId + profile.SubnetId = genruntime.ClonePointerToString(source.SubnetId) + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // No error + return nil +} + +// AssignProperties_To_NodePoolPlatformProfile_STATUS populates the provided destination NodePoolPlatformProfile_STATUS from our NodePoolPlatformProfile_STATUS +func (profile *NodePoolPlatformProfile_STATUS) AssignProperties_To_NodePoolPlatformProfile_STATUS(destination *storage.NodePoolPlatformProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(profile.AvailabilityZone) + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // OsDisk + if profile.OsDisk != nil { + var osDisk storage.OsDiskProfile_STATUS + err := profile.OsDisk.AssignProperties_To_OsDiskProfile_STATUS(&osDisk) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OsDiskProfile_STATUS() to populate field OsDisk") + } + destination.OsDisk = &osDisk + } else { + destination.OsDisk = nil + } + + // SubnetId + destination.SubnetId = genruntime.ClonePointerToString(profile.SubnetId) + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Versions represents an OpenShift version. +type NodePoolVersionProfile struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +var _ genruntime.ARMTransformer = &NodePoolVersionProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *NodePoolVersionProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.NodePoolVersionProfile{} + + // Set property "ChannelGroup": + if profile.ChannelGroup != nil { + channelGroup := *profile.ChannelGroup + result.ChannelGroup = &channelGroup + } + + // Set property "Id": + if profile.Id != nil { + id := *profile.Id + result.Id = &id + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NodePoolVersionProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolVersionProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NodePoolVersionProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolVersionProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolVersionProfile, got %T", armInput) + } + + // Set property "ChannelGroup": + if typedInput.ChannelGroup != nil { + channelGroup := *typedInput.ChannelGroup + profile.ChannelGroup = &channelGroup + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + profile.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolVersionProfile populates our NodePoolVersionProfile from the provided source NodePoolVersionProfile +func (profile *NodePoolVersionProfile) AssignProperties_From_NodePoolVersionProfile(source *storage.NodePoolVersionProfile) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_NodePoolVersionProfile populates the provided destination NodePoolVersionProfile from our NodePoolVersionProfile +func (profile *NodePoolVersionProfile) AssignProperties_To_NodePoolVersionProfile(destination *storage.NodePoolVersionProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ChannelGroup + destination.ChannelGroup = genruntime.ClonePointerToString(profile.ChannelGroup) + + // Id + destination.Id = genruntime.ClonePointerToString(profile.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_NodePoolVersionProfile_STATUS populates our NodePoolVersionProfile from the provided source NodePoolVersionProfile_STATUS +func (profile *NodePoolVersionProfile) Initialize_From_NodePoolVersionProfile_STATUS(source *NodePoolVersionProfile_STATUS) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// Versions represents an OpenShift version. +type NodePoolVersionProfile_STATUS struct { + // ChannelGroup: ChannelGroup is the name of the set to which this version belongs. Each version belongs to only a single + // set. + ChannelGroup *string `json:"channelGroup,omitempty"` + + // Id: ID is the unique identifier of the version. + Id *string `json:"id,omitempty"` +} + +var _ genruntime.FromARMConverter = &NodePoolVersionProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *NodePoolVersionProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.NodePoolVersionProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *NodePoolVersionProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.NodePoolVersionProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.NodePoolVersionProfile_STATUS, got %T", armInput) + } + + // Set property "ChannelGroup": + if typedInput.ChannelGroup != nil { + channelGroup := *typedInput.ChannelGroup + profile.ChannelGroup = &channelGroup + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + profile.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_NodePoolVersionProfile_STATUS populates our NodePoolVersionProfile_STATUS from the provided source NodePoolVersionProfile_STATUS +func (profile *NodePoolVersionProfile_STATUS) AssignProperties_From_NodePoolVersionProfile_STATUS(source *storage.NodePoolVersionProfile_STATUS) error { + + // ChannelGroup + profile.ChannelGroup = genruntime.ClonePointerToString(source.ChannelGroup) + + // Id + profile.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_NodePoolVersionProfile_STATUS populates the provided destination NodePoolVersionProfile_STATUS from our NodePoolVersionProfile_STATUS +func (profile *NodePoolVersionProfile_STATUS) AssignProperties_To_NodePoolVersionProfile_STATUS(destination *storage.NodePoolVersionProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ChannelGroup + destination.ChannelGroup = genruntime.ClonePointerToString(profile.ChannelGroup) + + // Id + destination.Id = genruntime.ClonePointerToString(profile.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Taint is controlling the node taint and its effects +type Taint struct { + // +kubebuilder:validation:Required + // Effect: The effect of the taint + Effect *Effect `json:"effect,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:MaxLength=316 + // +kubebuilder:validation:MinLength=1 + // Key: The key of the taint + Key *string `json:"key,omitempty"` + + // +kubebuilder:validation:MaxLength=63 + // Value: The value of the taint + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &Taint{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (taint *Taint) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if taint == nil { + return nil, nil + } + result := &arm.Taint{} + + // Set property "Effect": + if taint.Effect != nil { + var temp string + temp = string(*taint.Effect) + effect := arm.Effect(temp) + result.Effect = &effect + } + + // Set property "Key": + if taint.Key != nil { + key := *taint.Key + result.Key = &key + } + + // Set property "Value": + if taint.Value != nil { + value := *taint.Value + result.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (taint *Taint) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Taint{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (taint *Taint) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Taint) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Taint, got %T", armInput) + } + + // Set property "Effect": + if typedInput.Effect != nil { + var temp string + temp = string(*typedInput.Effect) + effect := Effect(temp) + taint.Effect = &effect + } + + // Set property "Key": + if typedInput.Key != nil { + key := *typedInput.Key + taint.Key = &key + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + taint.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_Taint populates our Taint from the provided source Taint +func (taint *Taint) AssignProperties_From_Taint(source *storage.Taint) error { + + // Effect + if source.Effect != nil { + effect := *source.Effect + effectTemp := genruntime.ToEnum(effect, effect_Values) + taint.Effect = &effectTemp + } else { + taint.Effect = nil + } + + // Key + taint.Key = genruntime.ClonePointerToString(source.Key) + + // Value + taint.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_Taint populates the provided destination Taint from our Taint +func (taint *Taint) AssignProperties_To_Taint(destination *storage.Taint) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Effect + if taint.Effect != nil { + effect := string(*taint.Effect) + destination.Effect = &effect + } else { + destination.Effect = nil + } + + // Key + destination.Key = genruntime.ClonePointerToString(taint.Key) + + // Value + destination.Value = genruntime.ClonePointerToString(taint.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Taint_STATUS populates our Taint from the provided source Taint_STATUS +func (taint *Taint) Initialize_From_Taint_STATUS(source *Taint_STATUS) error { + + // Effect + if source.Effect != nil { + effect := genruntime.ToEnum(string(*source.Effect), effect_Values) + taint.Effect = &effect + } else { + taint.Effect = nil + } + + // Key + taint.Key = genruntime.ClonePointerToString(source.Key) + + // Value + taint.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// Taint is controlling the node taint and its effects +type Taint_STATUS struct { + // Effect: The effect of the taint + Effect *Effect_STATUS `json:"effect,omitempty"` + + // Key: The key of the taint + Key *string `json:"key,omitempty"` + + // Value: The value of the taint + Value *string `json:"value,omitempty"` +} + +var _ genruntime.FromARMConverter = &Taint_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (taint *Taint_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Taint_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (taint *Taint_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Taint_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Taint_STATUS, got %T", armInput) + } + + // Set property "Effect": + if typedInput.Effect != nil { + var temp string + temp = string(*typedInput.Effect) + effect := Effect_STATUS(temp) + taint.Effect = &effect + } + + // Set property "Key": + if typedInput.Key != nil { + key := *typedInput.Key + taint.Key = &key + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + taint.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_Taint_STATUS populates our Taint_STATUS from the provided source Taint_STATUS +func (taint *Taint_STATUS) AssignProperties_From_Taint_STATUS(source *storage.Taint_STATUS) error { + + // Effect + if source.Effect != nil { + effect := *source.Effect + effectTemp := genruntime.ToEnum(effect, effect_STATUS_Values) + taint.Effect = &effectTemp + } else { + taint.Effect = nil + } + + // Key + taint.Key = genruntime.ClonePointerToString(source.Key) + + // Value + taint.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_Taint_STATUS populates the provided destination Taint_STATUS from our Taint_STATUS +func (taint *Taint_STATUS) AssignProperties_To_Taint_STATUS(destination *storage.Taint_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Effect + if taint.Effect != nil { + effect := string(*taint.Effect) + destination.Effect = &effect + } else { + destination.Effect = nil + } + + // Key + destination.Key = genruntime.ClonePointerToString(taint.Key) + + // Value + destination.Value = genruntime.ClonePointerToString(taint.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The taint effect the same as in Kubernetes +// +kubebuilder:validation:Enum={"NoExecute","NoSchedule","PreferNoSchedule"} +type Effect string + +const ( + Effect_NoExecute = Effect("NoExecute") + Effect_NoSchedule = Effect("NoSchedule") + Effect_PreferNoSchedule = Effect("PreferNoSchedule") +) + +// Mapping from string to Effect +var effect_Values = map[string]Effect{ + "noexecute": Effect_NoExecute, + "noschedule": Effect_NoSchedule, + "prefernoschedule": Effect_PreferNoSchedule, +} + +// The taint effect the same as in Kubernetes +type Effect_STATUS string + +const ( + Effect_STATUS_NoExecute = Effect_STATUS("NoExecute") + Effect_STATUS_NoSchedule = Effect_STATUS("NoSchedule") + Effect_STATUS_PreferNoSchedule = Effect_STATUS("PreferNoSchedule") +) + +// Mapping from string to Effect_STATUS +var effect_STATUS_Values = map[string]Effect_STATUS{ + "noexecute": Effect_STATUS_NoExecute, + "noschedule": Effect_STATUS_NoSchedule, + "prefernoschedule": Effect_STATUS_PreferNoSchedule, +} + +// The settings and configuration options for OSDisk +type OsDiskProfile struct { + // DiskStorageAccountType: The type of the disk storage account + // - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + DiskStorageAccountType *OsDiskProfile_DiskStorageAccountType `json:"diskStorageAccountType,omitempty"` + + // EncryptionSetReference: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + // This needs to exist in the same subscription id listed in the Hosted Cluster, + // HostedCluster.Spec.Platform.Azure.SubscriptionID. + // DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + // listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + // Details on how to create a Disk Encryption Set can be found here: + // https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + EncryptionSetReference *genruntime.ResourceReference `armReference:"EncryptionSetId" json:"encryptionSetReference,omitempty"` + + // SizeGiB: The OS disk size in GiB + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +var _ genruntime.ARMTransformer = &OsDiskProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *OsDiskProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.OsDiskProfile{} + + // Set property "DiskStorageAccountType": + if profile.DiskStorageAccountType != nil { + var temp string + temp = string(*profile.DiskStorageAccountType) + diskStorageAccountType := arm.OsDiskProfile_DiskStorageAccountType(temp) + result.DiskStorageAccountType = &diskStorageAccountType + } + + // Set property "EncryptionSetId": + if profile.EncryptionSetReference != nil { + encryptionSetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.EncryptionSetReference) + if err != nil { + return nil, err + } + encryptionSetReference := encryptionSetReferenceARMID + result.EncryptionSetId = &encryptionSetReference + } + + // Set property "SizeGiB": + if profile.SizeGiB != nil { + sizeGiB := *profile.SizeGiB + result.SizeGiB = &sizeGiB + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *OsDiskProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OsDiskProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *OsDiskProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OsDiskProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OsDiskProfile, got %T", armInput) + } + + // Set property "DiskStorageAccountType": + if typedInput.DiskStorageAccountType != nil { + var temp string + temp = string(*typedInput.DiskStorageAccountType) + diskStorageAccountType := OsDiskProfile_DiskStorageAccountType(temp) + profile.DiskStorageAccountType = &diskStorageAccountType + } + + // no assignment for property "EncryptionSetReference" + + // Set property "SizeGiB": + if typedInput.SizeGiB != nil { + sizeGiB := *typedInput.SizeGiB + profile.SizeGiB = &sizeGiB + } + + // No error + return nil +} + +// AssignProperties_From_OsDiskProfile populates our OsDiskProfile from the provided source OsDiskProfile +func (profile *OsDiskProfile) AssignProperties_From_OsDiskProfile(source *storage.OsDiskProfile) error { + + // DiskStorageAccountType + if source.DiskStorageAccountType != nil { + diskStorageAccountType := *source.DiskStorageAccountType + diskStorageAccountTypeTemp := genruntime.ToEnum(diskStorageAccountType, osDiskProfile_DiskStorageAccountType_Values) + profile.DiskStorageAccountType = &diskStorageAccountTypeTemp + } else { + profile.DiskStorageAccountType = nil + } + + // EncryptionSetReference + if source.EncryptionSetReference != nil { + encryptionSetReference := source.EncryptionSetReference.Copy() + profile.EncryptionSetReference = &encryptionSetReference + } else { + profile.EncryptionSetReference = nil + } + + // SizeGiB + profile.SizeGiB = genruntime.ClonePointerToInt(source.SizeGiB) + + // No error + return nil +} + +// AssignProperties_To_OsDiskProfile populates the provided destination OsDiskProfile from our OsDiskProfile +func (profile *OsDiskProfile) AssignProperties_To_OsDiskProfile(destination *storage.OsDiskProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DiskStorageAccountType + if profile.DiskStorageAccountType != nil { + diskStorageAccountType := string(*profile.DiskStorageAccountType) + destination.DiskStorageAccountType = &diskStorageAccountType + } else { + destination.DiskStorageAccountType = nil + } + + // EncryptionSetReference + if profile.EncryptionSetReference != nil { + encryptionSetReference := profile.EncryptionSetReference.Copy() + destination.EncryptionSetReference = &encryptionSetReference + } else { + destination.EncryptionSetReference = nil + } + + // SizeGiB + destination.SizeGiB = genruntime.ClonePointerToInt(profile.SizeGiB) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OsDiskProfile_STATUS populates our OsDiskProfile from the provided source OsDiskProfile_STATUS +func (profile *OsDiskProfile) Initialize_From_OsDiskProfile_STATUS(source *OsDiskProfile_STATUS) error { + + // DiskStorageAccountType + if source.DiskStorageAccountType != nil { + diskStorageAccountType := genruntime.ToEnum(string(*source.DiskStorageAccountType), osDiskProfile_DiskStorageAccountType_Values) + profile.DiskStorageAccountType = &diskStorageAccountType + } else { + profile.DiskStorageAccountType = nil + } + + // EncryptionSetReference + if source.EncryptionSetId != nil { + encryptionSetReference := genruntime.CreateResourceReferenceFromARMID(*source.EncryptionSetId) + profile.EncryptionSetReference = &encryptionSetReference + } else { + profile.EncryptionSetReference = nil + } + + // SizeGiB + profile.SizeGiB = genruntime.ClonePointerToInt(source.SizeGiB) + + // No error + return nil +} + +// The settings and configuration options for OSDisk +type OsDiskProfile_STATUS struct { + // DiskStorageAccountType: The type of the disk storage account + // - https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types + DiskStorageAccountType *OsDiskProfile_DiskStorageAccountType_STATUS `json:"diskStorageAccountType,omitempty"` + + // EncryptionSetId: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + // This needs to exist in the same subscription id listed in the Hosted Cluster, + // HostedCluster.Spec.Platform.Azure.SubscriptionID. + // DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + // listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + // Details on how to create a Disk Encryption Set can be found here: + // https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + EncryptionSetId *string `json:"encryptionSetId,omitempty"` + + // SizeGiB: The OS disk size in GiB + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +var _ genruntime.FromARMConverter = &OsDiskProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *OsDiskProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OsDiskProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *OsDiskProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OsDiskProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OsDiskProfile_STATUS, got %T", armInput) + } + + // Set property "DiskStorageAccountType": + if typedInput.DiskStorageAccountType != nil { + var temp string + temp = string(*typedInput.DiskStorageAccountType) + diskStorageAccountType := OsDiskProfile_DiskStorageAccountType_STATUS(temp) + profile.DiskStorageAccountType = &diskStorageAccountType + } + + // Set property "EncryptionSetId": + if typedInput.EncryptionSetId != nil { + encryptionSetId := *typedInput.EncryptionSetId + profile.EncryptionSetId = &encryptionSetId + } + + // Set property "SizeGiB": + if typedInput.SizeGiB != nil { + sizeGiB := *typedInput.SizeGiB + profile.SizeGiB = &sizeGiB + } + + // No error + return nil +} + +// AssignProperties_From_OsDiskProfile_STATUS populates our OsDiskProfile_STATUS from the provided source OsDiskProfile_STATUS +func (profile *OsDiskProfile_STATUS) AssignProperties_From_OsDiskProfile_STATUS(source *storage.OsDiskProfile_STATUS) error { + + // DiskStorageAccountType + if source.DiskStorageAccountType != nil { + diskStorageAccountType := *source.DiskStorageAccountType + diskStorageAccountTypeTemp := genruntime.ToEnum(diskStorageAccountType, osDiskProfile_DiskStorageAccountType_STATUS_Values) + profile.DiskStorageAccountType = &diskStorageAccountTypeTemp + } else { + profile.DiskStorageAccountType = nil + } + + // EncryptionSetId + profile.EncryptionSetId = genruntime.ClonePointerToString(source.EncryptionSetId) + + // SizeGiB + profile.SizeGiB = genruntime.ClonePointerToInt(source.SizeGiB) + + // No error + return nil +} + +// AssignProperties_To_OsDiskProfile_STATUS populates the provided destination OsDiskProfile_STATUS from our OsDiskProfile_STATUS +func (profile *OsDiskProfile_STATUS) AssignProperties_To_OsDiskProfile_STATUS(destination *storage.OsDiskProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DiskStorageAccountType + if profile.DiskStorageAccountType != nil { + diskStorageAccountType := string(*profile.DiskStorageAccountType) + destination.DiskStorageAccountType = &diskStorageAccountType + } else { + destination.DiskStorageAccountType = nil + } + + // EncryptionSetId + destination.EncryptionSetId = genruntime.ClonePointerToString(profile.EncryptionSetId) + + // SizeGiB + destination.SizeGiB = genruntime.ClonePointerToInt(profile.SizeGiB) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Premium_LRS","StandardSSD_LRS","Standard_LRS"} +type OsDiskProfile_DiskStorageAccountType string + +const ( + OsDiskProfile_DiskStorageAccountType_Premium_LRS = OsDiskProfile_DiskStorageAccountType("Premium_LRS") + OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS = OsDiskProfile_DiskStorageAccountType("StandardSSD_LRS") + OsDiskProfile_DiskStorageAccountType_Standard_LRS = OsDiskProfile_DiskStorageAccountType("Standard_LRS") +) + +// Mapping from string to OsDiskProfile_DiskStorageAccountType +var osDiskProfile_DiskStorageAccountType_Values = map[string]OsDiskProfile_DiskStorageAccountType{ + "premium_lrs": OsDiskProfile_DiskStorageAccountType_Premium_LRS, + "standardssd_lrs": OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS, + "standard_lrs": OsDiskProfile_DiskStorageAccountType_Standard_LRS, +} + +type OsDiskProfile_DiskStorageAccountType_STATUS string + +const ( + OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("Premium_LRS") + OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("StandardSSD_LRS") + OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS = OsDiskProfile_DiskStorageAccountType_STATUS("Standard_LRS") +) + +// Mapping from string to OsDiskProfile_DiskStorageAccountType_STATUS +var osDiskProfile_DiskStorageAccountType_STATUS_Values = map[string]OsDiskProfile_DiskStorageAccountType_STATUS{ + "premium_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS, + "standardssd_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS, + "standard_lrs": OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS, +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftClustersNodePool{}, &HcpOpenShiftClustersNodePoolList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen_test.go new file mode 100644 index 00000000000..43d0dc689a6 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/hcp_open_shift_clusters_node_pool_types_gen_test.go @@ -0,0 +1,2041 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240610preview + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_HcpOpenShiftClustersNodePool_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersNodePool to hub returns original", + prop.ForAll(RunResourceConversionTestForHcpOpenShiftClustersNodePool, HcpOpenShiftClustersNodePoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForHcpOpenShiftClustersNodePool tests if a specific instance of HcpOpenShiftClustersNodePool round trips to the hub storage version and back losslessly +func RunResourceConversionTestForHcpOpenShiftClustersNodePool(subject HcpOpenShiftClustersNodePool) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.HcpOpenShiftClustersNodePool + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual HcpOpenShiftClustersNodePool + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersNodePool_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersNodePool to HcpOpenShiftClustersNodePool via AssignProperties_To_HcpOpenShiftClustersNodePool & AssignProperties_From_HcpOpenShiftClustersNodePool returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool, HcpOpenShiftClustersNodePoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool tests if a specific instance of HcpOpenShiftClustersNodePool can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool(subject HcpOpenShiftClustersNodePool) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersNodePool + err := copied.AssignProperties_To_HcpOpenShiftClustersNodePool(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersNodePool + err = actual.AssignProperties_From_HcpOpenShiftClustersNodePool(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersNodePool_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool, HcpOpenShiftClustersNodePoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool runs a test to see if a specific instance of HcpOpenShiftClustersNodePool round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool(subject HcpOpenShiftClustersNodePool) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePoolGenerator() +var hcpOpenShiftClustersNodePoolGenerator gopter.Gen + +// HcpOpenShiftClustersNodePoolGenerator returns a generator of HcpOpenShiftClustersNodePool instances for property testing. +func HcpOpenShiftClustersNodePoolGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePoolGenerator != nil { + return hcpOpenShiftClustersNodePoolGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool(generators) + hcpOpenShiftClustersNodePoolGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool{}), generators) + + return hcpOpenShiftClustersNodePoolGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftClustersNodePool_SpecGenerator() + gens["Status"] = HcpOpenShiftClustersNodePool_STATUSGenerator() +} + +func Test_HcpOpenShiftClustersNodePoolOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersNodePoolOperatorSpec to HcpOpenShiftClustersNodePoolOperatorSpec via AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec & AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersNodePoolOperatorSpec, HcpOpenShiftClustersNodePoolOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersNodePoolOperatorSpec tests if a specific instance of HcpOpenShiftClustersNodePoolOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersNodePoolOperatorSpec(subject HcpOpenShiftClustersNodePoolOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersNodePoolOperatorSpec + err := copied.AssignProperties_To_HcpOpenShiftClustersNodePoolOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersNodePoolOperatorSpec + err = actual.AssignProperties_From_HcpOpenShiftClustersNodePoolOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersNodePoolOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePoolOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec, HcpOpenShiftClustersNodePoolOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClustersNodePoolOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec(subject HcpOpenShiftClustersNodePoolOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePoolOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePoolOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePoolOperatorSpecGenerator() +var hcpOpenShiftClustersNodePoolOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClustersNodePoolOperatorSpecGenerator returns a generator of HcpOpenShiftClustersNodePoolOperatorSpec instances for property testing. +func HcpOpenShiftClustersNodePoolOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePoolOperatorSpecGenerator != nil { + return hcpOpenShiftClustersNodePoolOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClustersNodePoolOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePoolOperatorSpec{}), generators) + + return hcpOpenShiftClustersNodePoolOperatorSpecGenerator +} + +func Test_HcpOpenShiftClustersNodePool_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersNodePool_STATUS to HcpOpenShiftClustersNodePool_STATUS via AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS & AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_STATUS, HcpOpenShiftClustersNodePool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_STATUS tests if a specific instance of HcpOpenShiftClustersNodePool_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_STATUS(subject HcpOpenShiftClustersNodePool_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersNodePool_STATUS + err := copied.AssignProperties_To_HcpOpenShiftClustersNodePool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersNodePool_STATUS + err = actual.AssignProperties_From_HcpOpenShiftClustersNodePool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersNodePool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS, HcpOpenShiftClustersNodePool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS(subject HcpOpenShiftClustersNodePool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_STATUSGenerator() +var hcpOpenShiftClustersNodePool_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_STATUSGenerator returns a generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_STATUSGenerator != nil { + return hcpOpenShiftClustersNodePool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + return hcpOpenShiftClustersNodePool_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftClustersNodePool_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HcpOpenShiftClustersNodePool_Spec to HcpOpenShiftClustersNodePool_Spec via AssignProperties_To_HcpOpenShiftClustersNodePool_Spec & AssignProperties_From_HcpOpenShiftClustersNodePool_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_Spec, HcpOpenShiftClustersNodePool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_Spec tests if a specific instance of HcpOpenShiftClustersNodePool_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHcpOpenShiftClustersNodePool_Spec(subject HcpOpenShiftClustersNodePool_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HcpOpenShiftClustersNodePool_Spec + err := copied.AssignProperties_To_HcpOpenShiftClustersNodePool_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HcpOpenShiftClustersNodePool_Spec + err = actual.AssignProperties_From_HcpOpenShiftClustersNodePool_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HcpOpenShiftClustersNodePool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec, HcpOpenShiftClustersNodePool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec(subject HcpOpenShiftClustersNodePool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_SpecGenerator() +var hcpOpenShiftClustersNodePool_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_SpecGenerator returns a generator of HcpOpenShiftClustersNodePool_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_SpecGenerator != nil { + return hcpOpenShiftClustersNodePool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + return hcpOpenShiftClustersNodePool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClustersNodePoolOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolPropertiesGenerator()) +} + +func Test_Label_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Label to Label via AssignProperties_To_Label & AssignProperties_From_Label returns original", + prop.ForAll(RunPropertyAssignmentTestForLabel, LabelGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLabel tests if a specific instance of Label can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLabel(subject Label) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Label + err := copied.AssignProperties_To_Label(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Label + err = actual.AssignProperties_From_Label(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Label_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel, LabelGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel runs a test to see if a specific instance of Label round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel(subject Label) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label instances for property testing - lazily instantiated by LabelGenerator() +var labelGenerator gopter.Gen + +// LabelGenerator returns a generator of Label instances for property testing. +func LabelGenerator() gopter.Gen { + if labelGenerator != nil { + return labelGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel(generators) + labelGenerator = gen.Struct(reflect.TypeOf(Label{}), generators) + + return labelGenerator +} + +// AddIndependentPropertyGeneratorsForLabel is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Label_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Label_STATUS to Label_STATUS via AssignProperties_To_Label_STATUS & AssignProperties_From_Label_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLabel_STATUS, Label_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLabel_STATUS tests if a specific instance of Label_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLabel_STATUS(subject Label_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Label_STATUS + err := copied.AssignProperties_To_Label_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Label_STATUS + err = actual.AssignProperties_From_Label_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Label_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel_STATUS, Label_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel_STATUS runs a test to see if a specific instance of Label_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel_STATUS(subject Label_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label_STATUS instances for property testing - lazily instantiated by Label_STATUSGenerator() +var label_STATUSGenerator gopter.Gen + +// Label_STATUSGenerator returns a generator of Label_STATUS instances for property testing. +func Label_STATUSGenerator() gopter.Gen { + if label_STATUSGenerator != nil { + return label_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel_STATUS(generators) + label_STATUSGenerator = gen.Struct(reflect.TypeOf(Label_STATUS{}), generators) + + return label_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLabel_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel_STATUS(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolAutoScaling_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolAutoScaling to NodePoolAutoScaling via AssignProperties_To_NodePoolAutoScaling & AssignProperties_From_NodePoolAutoScaling returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolAutoScaling, NodePoolAutoScalingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolAutoScaling tests if a specific instance of NodePoolAutoScaling can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolAutoScaling(subject NodePoolAutoScaling) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolAutoScaling + err := copied.AssignProperties_To_NodePoolAutoScaling(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolAutoScaling + err = actual.AssignProperties_From_NodePoolAutoScaling(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolAutoScaling_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling, NodePoolAutoScalingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling runs a test to see if a specific instance of NodePoolAutoScaling round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling(subject NodePoolAutoScaling) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling instances for property testing - lazily instantiated by +// NodePoolAutoScalingGenerator() +var nodePoolAutoScalingGenerator gopter.Gen + +// NodePoolAutoScalingGenerator returns a generator of NodePoolAutoScaling instances for property testing. +func NodePoolAutoScalingGenerator() gopter.Gen { + if nodePoolAutoScalingGenerator != nil { + return nodePoolAutoScalingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling(generators) + nodePoolAutoScalingGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling{}), generators) + + return nodePoolAutoScalingGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolAutoScaling_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolAutoScaling_STATUS to NodePoolAutoScaling_STATUS via AssignProperties_To_NodePoolAutoScaling_STATUS & AssignProperties_From_NodePoolAutoScaling_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolAutoScaling_STATUS, NodePoolAutoScaling_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolAutoScaling_STATUS tests if a specific instance of NodePoolAutoScaling_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolAutoScaling_STATUS(subject NodePoolAutoScaling_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolAutoScaling_STATUS + err := copied.AssignProperties_To_NodePoolAutoScaling_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolAutoScaling_STATUS + err = actual.AssignProperties_From_NodePoolAutoScaling_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolAutoScaling_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling_STATUS, NodePoolAutoScaling_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling_STATUS runs a test to see if a specific instance of NodePoolAutoScaling_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling_STATUS(subject NodePoolAutoScaling_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling_STATUS instances for property testing - lazily instantiated by +// NodePoolAutoScaling_STATUSGenerator() +var nodePoolAutoScaling_STATUSGenerator gopter.Gen + +// NodePoolAutoScaling_STATUSGenerator returns a generator of NodePoolAutoScaling_STATUS instances for property testing. +func NodePoolAutoScaling_STATUSGenerator() gopter.Gen { + if nodePoolAutoScaling_STATUSGenerator != nil { + return nodePoolAutoScaling_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(generators) + nodePoolAutoScaling_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling_STATUS{}), generators) + + return nodePoolAutoScaling_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolPlatformProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolPlatformProfile to NodePoolPlatformProfile via AssignProperties_To_NodePoolPlatformProfile & AssignProperties_From_NodePoolPlatformProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolPlatformProfile, NodePoolPlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolPlatformProfile tests if a specific instance of NodePoolPlatformProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolPlatformProfile(subject NodePoolPlatformProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolPlatformProfile + err := copied.AssignProperties_To_NodePoolPlatformProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolPlatformProfile + err = actual.AssignProperties_From_NodePoolPlatformProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolPlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile, NodePoolPlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile runs a test to see if a specific instance of NodePoolPlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile(subject NodePoolPlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile instances for property testing - lazily instantiated by +// NodePoolPlatformProfileGenerator() +var nodePoolPlatformProfileGenerator gopter.Gen + +// NodePoolPlatformProfileGenerator returns a generator of NodePoolPlatformProfile instances for property testing. +// We first initialize nodePoolPlatformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfileGenerator() gopter.Gen { + if nodePoolPlatformProfileGenerator != nil { + return nodePoolPlatformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + return nodePoolPlatformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfileGenerator()) +} + +func Test_NodePoolPlatformProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolPlatformProfile_STATUS to NodePoolPlatformProfile_STATUS via AssignProperties_To_NodePoolPlatformProfile_STATUS & AssignProperties_From_NodePoolPlatformProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolPlatformProfile_STATUS, NodePoolPlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolPlatformProfile_STATUS tests if a specific instance of NodePoolPlatformProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolPlatformProfile_STATUS(subject NodePoolPlatformProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolPlatformProfile_STATUS + err := copied.AssignProperties_To_NodePoolPlatformProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolPlatformProfile_STATUS + err = actual.AssignProperties_From_NodePoolPlatformProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolPlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile_STATUS, NodePoolPlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile_STATUS runs a test to see if a specific instance of NodePoolPlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile_STATUS(subject NodePoolPlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolPlatformProfile_STATUSGenerator() +var nodePoolPlatformProfile_STATUSGenerator gopter.Gen + +// NodePoolPlatformProfile_STATUSGenerator returns a generator of NodePoolPlatformProfile_STATUS instances for property testing. +// We first initialize nodePoolPlatformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfile_STATUSGenerator() gopter.Gen { + if nodePoolPlatformProfile_STATUSGenerator != nil { + return nodePoolPlatformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + return nodePoolPlatformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfile_STATUSGenerator()) +} + +func Test_NodePoolProperties_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolProperties to NodePoolProperties via AssignProperties_To_NodePoolProperties & AssignProperties_From_NodePoolProperties returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolProperties, NodePoolPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolProperties tests if a specific instance of NodePoolProperties can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolProperties(subject NodePoolProperties) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolProperties + err := copied.AssignProperties_To_NodePoolProperties(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolProperties + err = actual.AssignProperties_From_NodePoolProperties(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties, NodePoolPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties runs a test to see if a specific instance of NodePoolProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties(subject NodePoolProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties instances for property testing - lazily instantiated by NodePoolPropertiesGenerator() +var nodePoolPropertiesGenerator gopter.Gen + +// NodePoolPropertiesGenerator returns a generator of NodePoolProperties instances for property testing. +// We first initialize nodePoolPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPropertiesGenerator() gopter.Gen { + if nodePoolPropertiesGenerator != nil { + return nodePoolPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + return nodePoolPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScalingGenerator()) + gens["Labels"] = gen.SliceOf(LabelGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfileGenerator()) + gens["Taints"] = gen.SliceOf(TaintGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfileGenerator()) +} + +func Test_NodePoolProperties_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolProperties_STATUS to NodePoolProperties_STATUS via AssignProperties_To_NodePoolProperties_STATUS & AssignProperties_From_NodePoolProperties_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolProperties_STATUS, NodePoolProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolProperties_STATUS tests if a specific instance of NodePoolProperties_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolProperties_STATUS(subject NodePoolProperties_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolProperties_STATUS + err := copied.AssignProperties_To_NodePoolProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolProperties_STATUS + err = actual.AssignProperties_From_NodePoolProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties_STATUS, NodePoolProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties_STATUS runs a test to see if a specific instance of NodePoolProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties_STATUS(subject NodePoolProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties_STATUS instances for property testing - lazily instantiated by +// NodePoolProperties_STATUSGenerator() +var nodePoolProperties_STATUSGenerator gopter.Gen + +// NodePoolProperties_STATUSGenerator returns a generator of NodePoolProperties_STATUS instances for property testing. +// We first initialize nodePoolProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolProperties_STATUSGenerator() gopter.Gen { + if nodePoolProperties_STATUSGenerator != nil { + return nodePoolProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + return nodePoolProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_Accepted, + ProvisioningState_STATUS_Canceled, + ProvisioningState_STATUS_Deleting, + ProvisioningState_STATUS_Failed, + ProvisioningState_STATUS_Provisioning, + ProvisioningState_STATUS_Succeeded, + ProvisioningState_STATUS_Updating)) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScaling_STATUSGenerator()) + gens["Labels"] = gen.SliceOf(Label_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfile_STATUSGenerator()) + gens["Taints"] = gen.SliceOf(Taint_STATUSGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfile_STATUSGenerator()) +} + +func Test_NodePoolVersionProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolVersionProfile to NodePoolVersionProfile via AssignProperties_To_NodePoolVersionProfile & AssignProperties_From_NodePoolVersionProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolVersionProfile, NodePoolVersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolVersionProfile tests if a specific instance of NodePoolVersionProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolVersionProfile(subject NodePoolVersionProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolVersionProfile + err := copied.AssignProperties_To_NodePoolVersionProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolVersionProfile + err = actual.AssignProperties_From_NodePoolVersionProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolVersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile, NodePoolVersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile runs a test to see if a specific instance of NodePoolVersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile(subject NodePoolVersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile instances for property testing - lazily instantiated by +// NodePoolVersionProfileGenerator() +var nodePoolVersionProfileGenerator gopter.Gen + +// NodePoolVersionProfileGenerator returns a generator of NodePoolVersionProfile instances for property testing. +func NodePoolVersionProfileGenerator() gopter.Gen { + if nodePoolVersionProfileGenerator != nil { + return nodePoolVersionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile(generators) + nodePoolVersionProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile{}), generators) + + return nodePoolVersionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolVersionProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NodePoolVersionProfile_STATUS to NodePoolVersionProfile_STATUS via AssignProperties_To_NodePoolVersionProfile_STATUS & AssignProperties_From_NodePoolVersionProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNodePoolVersionProfile_STATUS, NodePoolVersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNodePoolVersionProfile_STATUS tests if a specific instance of NodePoolVersionProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNodePoolVersionProfile_STATUS(subject NodePoolVersionProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NodePoolVersionProfile_STATUS + err := copied.AssignProperties_To_NodePoolVersionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NodePoolVersionProfile_STATUS + err = actual.AssignProperties_From_NodePoolVersionProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NodePoolVersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile_STATUS, NodePoolVersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile_STATUS runs a test to see if a specific instance of NodePoolVersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile_STATUS(subject NodePoolVersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolVersionProfile_STATUSGenerator() +var nodePoolVersionProfile_STATUSGenerator gopter.Gen + +// NodePoolVersionProfile_STATUSGenerator returns a generator of NodePoolVersionProfile_STATUS instances for property testing. +func NodePoolVersionProfile_STATUSGenerator() gopter.Gen { + if nodePoolVersionProfile_STATUSGenerator != nil { + return nodePoolVersionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(generators) + nodePoolVersionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile_STATUS{}), generators) + + return nodePoolVersionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OsDiskProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OsDiskProfile to OsDiskProfile via AssignProperties_To_OsDiskProfile & AssignProperties_From_OsDiskProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForOsDiskProfile, OsDiskProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOsDiskProfile tests if a specific instance of OsDiskProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOsDiskProfile(subject OsDiskProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OsDiskProfile + err := copied.AssignProperties_To_OsDiskProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OsDiskProfile + err = actual.AssignProperties_From_OsDiskProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_OsDiskProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile, OsDiskProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile runs a test to see if a specific instance of OsDiskProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile(subject OsDiskProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile instances for property testing - lazily instantiated by OsDiskProfileGenerator() +var osDiskProfileGenerator gopter.Gen + +// OsDiskProfileGenerator returns a generator of OsDiskProfile instances for property testing. +func OsDiskProfileGenerator() gopter.Gen { + if osDiskProfileGenerator != nil { + return osDiskProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile(generators) + osDiskProfileGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile{}), generators) + + return osDiskProfileGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.OneConstOf(OsDiskProfile_DiskStorageAccountType_Premium_LRS, OsDiskProfile_DiskStorageAccountType_StandardSSD_LRS, OsDiskProfile_DiskStorageAccountType_Standard_LRS)) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_OsDiskProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OsDiskProfile_STATUS to OsDiskProfile_STATUS via AssignProperties_To_OsDiskProfile_STATUS & AssignProperties_From_OsDiskProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOsDiskProfile_STATUS, OsDiskProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOsDiskProfile_STATUS tests if a specific instance of OsDiskProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOsDiskProfile_STATUS(subject OsDiskProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OsDiskProfile_STATUS + err := copied.AssignProperties_To_OsDiskProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OsDiskProfile_STATUS + err = actual.AssignProperties_From_OsDiskProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_OsDiskProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile_STATUS, OsDiskProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile_STATUS runs a test to see if a specific instance of OsDiskProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile_STATUS(subject OsDiskProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile_STATUS instances for property testing - lazily instantiated by +// OsDiskProfile_STATUSGenerator() +var osDiskProfile_STATUSGenerator gopter.Gen + +// OsDiskProfile_STATUSGenerator returns a generator of OsDiskProfile_STATUS instances for property testing. +func OsDiskProfile_STATUSGenerator() gopter.Gen { + if osDiskProfile_STATUSGenerator != nil { + return osDiskProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(generators) + osDiskProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile_STATUS{}), generators) + + return osDiskProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.OneConstOf(OsDiskProfile_DiskStorageAccountType_STATUS_Premium_LRS, OsDiskProfile_DiskStorageAccountType_STATUS_StandardSSD_LRS, OsDiskProfile_DiskStorageAccountType_STATUS_Standard_LRS)) + gens["EncryptionSetId"] = gen.PtrOf(gen.AlphaString()) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_Taint_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Taint to Taint via AssignProperties_To_Taint & AssignProperties_From_Taint returns original", + prop.ForAll(RunPropertyAssignmentTestForTaint, TaintGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTaint tests if a specific instance of Taint can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTaint(subject Taint) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Taint + err := copied.AssignProperties_To_Taint(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Taint + err = actual.AssignProperties_From_Taint(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Taint_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint, TaintGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint runs a test to see if a specific instance of Taint round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint(subject Taint) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint instances for property testing - lazily instantiated by TaintGenerator() +var taintGenerator gopter.Gen + +// TaintGenerator returns a generator of Taint instances for property testing. +func TaintGenerator() gopter.Gen { + if taintGenerator != nil { + return taintGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint(generators) + taintGenerator = gen.Struct(reflect.TypeOf(Taint{}), generators) + + return taintGenerator +} + +// AddIndependentPropertyGeneratorsForTaint is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.OneConstOf(Effect_NoExecute, Effect_NoSchedule, Effect_PreferNoSchedule)) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Taint_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Taint_STATUS to Taint_STATUS via AssignProperties_To_Taint_STATUS & AssignProperties_From_Taint_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTaint_STATUS, Taint_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTaint_STATUS tests if a specific instance of Taint_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTaint_STATUS(subject Taint_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Taint_STATUS + err := copied.AssignProperties_To_Taint_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Taint_STATUS + err = actual.AssignProperties_From_Taint_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Taint_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint_STATUS, Taint_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint_STATUS runs a test to see if a specific instance of Taint_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint_STATUS(subject Taint_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint_STATUS instances for property testing - lazily instantiated by Taint_STATUSGenerator() +var taint_STATUSGenerator gopter.Gen + +// Taint_STATUSGenerator returns a generator of Taint_STATUS instances for property testing. +func Taint_STATUSGenerator() gopter.Gen { + if taint_STATUSGenerator != nil { + return taint_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint_STATUS(generators) + taint_STATUSGenerator = gen.Struct(reflect.TypeOf(Taint_STATUS{}), generators) + + return taint_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTaint_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint_STATUS(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.OneConstOf(Effect_STATUS_NoExecute, Effect_STATUS_NoSchedule, Effect_STATUS_PreferNoSchedule)) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/groupversion_info_gen.go b/v2/api/redhatopenshift/v1api20240610preview/storage/groupversion_info_gen.go new file mode 100644 index 00000000000..7b0aaaa54ce --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package storage contains API Schema definitions for the redhatopenshift storage API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=redhatopenshift.azure.com +// +versionName=v1api20240610previewstorage +package storage + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "redhatopenshift.azure.com", Version: "v1api20240610previewstorage"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen.go new file mode 100644 index 00000000000..4ce05c4680e --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen.go @@ -0,0 +1,1141 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20231122/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources=hcpopenshiftclusters,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources={hcpopenshiftclusters/status,hcpopenshiftclusters/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240610preview.HcpOpenShiftCluster +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} +type HcpOpenShiftCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftCluster_Spec `json:"spec,omitempty"` + Status HcpOpenShiftCluster_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftCluster{} + +// GetConditions returns the conditions of the resource +func (cluster *HcpOpenShiftCluster) GetConditions() conditions.Conditions { + return cluster.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (cluster *HcpOpenShiftCluster) SetConditions(conditions conditions.Conditions) { + cluster.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &HcpOpenShiftCluster{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (cluster *HcpOpenShiftCluster) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if cluster.Spec.OperatorSpec == nil { + return nil + } + return cluster.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftCluster{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (cluster *HcpOpenShiftCluster) SecretDestinationExpressions() []*core.DestinationExpression { + if cluster.Spec.OperatorSpec == nil { + return nil + } + return cluster.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftCluster{} + +// AzureName returns the Azure name of the resource +func (cluster *HcpOpenShiftCluster) AzureName() string { + return cluster.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (cluster HcpOpenShiftCluster) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (cluster *HcpOpenShiftCluster) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (cluster *HcpOpenShiftCluster) GetSpec() genruntime.ConvertibleSpec { + return &cluster.Spec +} + +// GetStatus returns the status of this resource +func (cluster *HcpOpenShiftCluster) GetStatus() genruntime.ConvertibleStatus { + return &cluster.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (cluster *HcpOpenShiftCluster) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +func (cluster *HcpOpenShiftCluster) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters" +} + +// NewEmptyStatus returns a new empty (blank) status +func (cluster *HcpOpenShiftCluster) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftCluster_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (cluster *HcpOpenShiftCluster) Owner() *genruntime.ResourceReference { + if cluster.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(cluster.Spec) + return cluster.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (cluster *HcpOpenShiftCluster) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftCluster_STATUS); ok { + cluster.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftCluster_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + cluster.Status = st + return nil +} + +// Hub marks that this HcpOpenShiftCluster is the hub type for conversion +func (cluster *HcpOpenShiftCluster) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (cluster *HcpOpenShiftCluster) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: cluster.Spec.OriginalVersion, + Kind: "HcpOpenShiftCluster", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240610preview.HcpOpenShiftCluster +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName} +type HcpOpenShiftClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftCluster `json:"items"` +} + +// Storage version of v1api20240610preview.APIVersion +// +kubebuilder:validation:Enum={"2024-06-10-preview"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-06-10-preview") + +// Storage version of v1api20240610preview.HcpOpenShiftCluster_Spec +type HcpOpenShiftCluster_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + OperatorSpec *HcpOpenShiftClusterOperatorSpec `json:"operatorSpec,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + Properties *HcpOpenShiftClusterProperties `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftCluster_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftCluster_Spec from the provided source +func (cluster *HcpOpenShiftCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == cluster { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(cluster) +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftCluster_Spec +func (cluster *HcpOpenShiftCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == cluster { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(cluster) +} + +// Storage version of v1api20240610preview.HcpOpenShiftCluster_STATUS +// HCP cluster resource +type HcpOpenShiftCluster_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Properties *HcpOpenShiftClusterProperties_STATUS `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftCluster_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftCluster_STATUS from the provided source +func (cluster *HcpOpenShiftCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == cluster { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(cluster) +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftCluster_STATUS +func (cluster *HcpOpenShiftCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == cluster { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(cluster) +} + +// Storage version of v1api20240610preview.HcpOpenShiftClusterOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClusterOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` + Secrets *HcpOpenShiftClusterOperatorSecrets `json:"secrets,omitempty"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClusterProperties +// HCP cluster properties +type HcpOpenShiftClusterProperties struct { + Api *ApiProfile `json:"api,omitempty"` + Autoscaling *ClusterAutoscalingProfile `json:"autoscaling,omitempty"` + ClusterImageRegistry *ClusterImageRegistryProfile `json:"clusterImageRegistry,omitempty"` + Dns *DnsProfile `json:"dns,omitempty"` + Etcd *EtcdProfile `json:"etcd,omitempty"` + Network *NetworkProfile `json:"network,omitempty"` + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + Platform *PlatformProfile `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Version *VersionProfile `json:"version,omitempty"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClusterProperties_STATUS +// HCP cluster properties +type HcpOpenShiftClusterProperties_STATUS struct { + Api *ApiProfile_STATUS `json:"api,omitempty"` + Autoscaling *ClusterAutoscalingProfile_STATUS `json:"autoscaling,omitempty"` + ClusterImageRegistry *ClusterImageRegistryProfile_STATUS `json:"clusterImageRegistry,omitempty"` + Console *ConsoleProfile_STATUS `json:"console,omitempty"` + Dns *DnsProfile_STATUS `json:"dns,omitempty"` + Etcd *EtcdProfile_STATUS `json:"etcd,omitempty"` + Network *NetworkProfile_STATUS `json:"network,omitempty"` + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + Platform *PlatformProfile_STATUS `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + Version *VersionProfile_STATUS `json:"version,omitempty"` +} + +// Storage version of v1api20240610preview.ManagedServiceIdentity +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240610preview.ManagedServiceIdentity_STATUS +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_STATUS struct { + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240610preview.SystemData_STATUS +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *string `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + LastModifiedByType *string `json:"lastModifiedByType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + data.CreatedByType = genruntime.ClonePointerToString(source.CreatedByType) + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + data.LastModifiedByType = genruntime.ClonePointerToString(source.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + destination.CreatedByType = genruntime.ClonePointerToString(data.CreatedByType) + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + destination.LastModifiedByType = genruntime.ClonePointerToString(data.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240610preview.ApiProfile +// Information about the API of a cluster. +type ApiProfile struct { + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Visibility *string `json:"visibility,omitempty"` +} + +// Storage version of v1api20240610preview.ApiProfile_STATUS +// Information about the API of a cluster. +type ApiProfile_STATUS struct { + AuthorizedCidrs []string `json:"authorizedCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Url *string `json:"url,omitempty"` + Visibility *string `json:"visibility,omitempty"` +} + +type augmentConversionForSystemData_STATUS interface { + AssignPropertiesFrom(src *storage.SystemData_STATUS) error + AssignPropertiesTo(dst *storage.SystemData_STATUS) error +} + +// Storage version of v1api20240610preview.ClusterAutoscalingProfile +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile struct { + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.ClusterAutoscalingProfile_STATUS +// ClusterAutoscaling specifies auto-scaling behavior that +// applies to all NodePools associated with a control plane. +type ClusterAutoscalingProfile_STATUS struct { + MaxNodeProvisionTimeSeconds *int `json:"maxNodeProvisionTimeSeconds,omitempty"` + MaxNodesTotal *int `json:"maxNodesTotal,omitempty"` + MaxPodGracePeriodSeconds *int `json:"maxPodGracePeriodSeconds,omitempty"` + PodPriorityThreshold *int `json:"podPriorityThreshold,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.ClusterImageRegistryProfile +// OpenShift cluster image registry +type ClusterImageRegistryProfile struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + State *string `json:"state,omitempty"` +} + +// Storage version of v1api20240610preview.ClusterImageRegistryProfile_STATUS +// OpenShift cluster image registry +type ClusterImageRegistryProfile_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + State *string `json:"state,omitempty"` +} + +// Storage version of v1api20240610preview.ConsoleProfile_STATUS +// Configuration of the cluster web console +type ConsoleProfile_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Url *string `json:"url,omitempty"` +} + +// AssignProperties_From_ConsoleProfile_STATUS populates our ConsoleProfile_STATUS from the provided source ConsoleProfile_STATUS +func (profile *ConsoleProfile_STATUS) AssignProperties_From_ConsoleProfile_STATUS(source *storage.ConsoleProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Url + profile.Url = genruntime.ClonePointerToString(source.Url) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForConsoleProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForConsoleProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ConsoleProfile_STATUS populates the provided destination ConsoleProfile_STATUS from our ConsoleProfile_STATUS +func (profile *ConsoleProfile_STATUS) AssignProperties_To_ConsoleProfile_STATUS(destination *storage.ConsoleProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Url + destination.Url = genruntime.ClonePointerToString(profile.Url) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForConsoleProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForConsoleProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240610preview.DnsProfile +// DNS contains the DNS settings of the cluster +type DnsProfile struct { + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.DnsProfile_STATUS +// DNS contains the DNS settings of the cluster +type DnsProfile_STATUS struct { + BaseDomain *string `json:"baseDomain,omitempty"` + BaseDomainPrefix *string `json:"baseDomainPrefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.EtcdProfile +// The ETCD settings and configuration options. +type EtcdProfile struct { + DataEncryption *EtcdDataEncryptionProfile `json:"dataEncryption,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.EtcdProfile_STATUS +// The ETCD settings and configuration options. +type EtcdProfile_STATUS struct { + DataEncryption *EtcdDataEncryptionProfile_STATUS `json:"dataEncryption,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClusterOperatorSecrets +type HcpOpenShiftClusterOperatorSecrets struct { + AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.NetworkProfile +// OpenShift networking configuration +type NetworkProfile struct { + HostPrefix *int `json:"hostPrefix,omitempty"` + MachineCidr *string `json:"machineCidr,omitempty"` + NetworkType *string `json:"networkType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +// AssignProperties_From_NetworkProfile populates our NetworkProfile from the provided source NetworkProfile +func (profile *NetworkProfile) AssignProperties_From_NetworkProfile(source *storage.NetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // HostPrefix + if propertyBag.Contains("HostPrefix") { + var hostPrefix int + err := propertyBag.Pull("HostPrefix", &hostPrefix) + if err != nil { + return eris.Wrap(err, "pulling 'HostPrefix' from propertyBag") + } + + profile.HostPrefix = &hostPrefix + } else { + profile.HostPrefix = nil + } + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + propertyBag.Add("LoadBalancerProfile", *source.LoadBalancerProfile) + } else { + propertyBag.Remove("LoadBalancerProfile") + } + + // MachineCidr + if propertyBag.Contains("MachineCidr") { + var machineCidr string + err := propertyBag.Pull("MachineCidr", &machineCidr) + if err != nil { + return eris.Wrap(err, "pulling 'MachineCidr' from propertyBag") + } + + profile.MachineCidr = &machineCidr + } else { + profile.MachineCidr = nil + } + + // NetworkType + if propertyBag.Contains("NetworkType") { + var networkType string + err := propertyBag.Pull("NetworkType", &networkType) + if err != nil { + return eris.Wrap(err, "pulling 'NetworkType' from propertyBag") + } + + profile.NetworkType = &networkType + } else { + profile.NetworkType = nil + } + + // OutboundType + if source.OutboundType != nil { + propertyBag.Add("OutboundType", *source.OutboundType) + } else { + propertyBag.Remove("OutboundType") + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // PreconfiguredNSG + if source.PreconfiguredNSG != nil { + propertyBag.Add("PreconfiguredNSG", *source.PreconfiguredNSG) + } else { + propertyBag.Remove("PreconfiguredNSG") + } + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_NetworkProfile populates the provided destination NetworkProfile from our NetworkProfile +func (profile *NetworkProfile) AssignProperties_To_NetworkProfile(destination *storage.NetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // HostPrefix + if profile.HostPrefix != nil { + propertyBag.Add("HostPrefix", *profile.HostPrefix) + } else { + propertyBag.Remove("HostPrefix") + } + + // LoadBalancerProfile + if propertyBag.Contains("LoadBalancerProfile") { + var loadBalancerProfile storage.LoadBalancerProfile + err := propertyBag.Pull("LoadBalancerProfile", &loadBalancerProfile) + if err != nil { + return eris.Wrap(err, "pulling 'LoadBalancerProfile' from propertyBag") + } + + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // MachineCidr + if profile.MachineCidr != nil { + propertyBag.Add("MachineCidr", *profile.MachineCidr) + } else { + propertyBag.Remove("MachineCidr") + } + + // NetworkType + if profile.NetworkType != nil { + propertyBag.Add("NetworkType", *profile.NetworkType) + } else { + propertyBag.Remove("NetworkType") + } + + // OutboundType + if propertyBag.Contains("OutboundType") { + var outboundType string + err := propertyBag.Pull("OutboundType", &outboundType) + if err != nil { + return eris.Wrap(err, "pulling 'OutboundType' from propertyBag") + } + + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // PreconfiguredNSG + if propertyBag.Contains("PreconfiguredNSG") { + var preconfiguredNSG string + err := propertyBag.Pull("PreconfiguredNSG", &preconfiguredNSG) + if err != nil { + return eris.Wrap(err, "pulling 'PreconfiguredNSG' from propertyBag") + } + + destination.PreconfiguredNSG = &preconfiguredNSG + } else { + destination.PreconfiguredNSG = nil + } + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240610preview.NetworkProfile_STATUS +// OpenShift networking configuration +type NetworkProfile_STATUS struct { + HostPrefix *int `json:"hostPrefix,omitempty"` + MachineCidr *string `json:"machineCidr,omitempty"` + NetworkType *string `json:"networkType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` +} + +// AssignProperties_From_NetworkProfile_STATUS populates our NetworkProfile_STATUS from the provided source NetworkProfile_STATUS +func (profile *NetworkProfile_STATUS) AssignProperties_From_NetworkProfile_STATUS(source *storage.NetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // HostPrefix + if propertyBag.Contains("HostPrefix") { + var hostPrefix int + err := propertyBag.Pull("HostPrefix", &hostPrefix) + if err != nil { + return eris.Wrap(err, "pulling 'HostPrefix' from propertyBag") + } + + profile.HostPrefix = &hostPrefix + } else { + profile.HostPrefix = nil + } + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + propertyBag.Add("LoadBalancerProfile", *source.LoadBalancerProfile) + } else { + propertyBag.Remove("LoadBalancerProfile") + } + + // MachineCidr + if propertyBag.Contains("MachineCidr") { + var machineCidr string + err := propertyBag.Pull("MachineCidr", &machineCidr) + if err != nil { + return eris.Wrap(err, "pulling 'MachineCidr' from propertyBag") + } + + profile.MachineCidr = &machineCidr + } else { + profile.MachineCidr = nil + } + + // NetworkType + if propertyBag.Contains("NetworkType") { + var networkType string + err := propertyBag.Pull("NetworkType", &networkType) + if err != nil { + return eris.Wrap(err, "pulling 'NetworkType' from propertyBag") + } + + profile.NetworkType = &networkType + } else { + profile.NetworkType = nil + } + + // OutboundType + if source.OutboundType != nil { + propertyBag.Add("OutboundType", *source.OutboundType) + } else { + propertyBag.Remove("OutboundType") + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // PreconfiguredNSG + if source.PreconfiguredNSG != nil { + propertyBag.Add("PreconfiguredNSG", *source.PreconfiguredNSG) + } else { + propertyBag.Remove("PreconfiguredNSG") + } + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_NetworkProfile_STATUS populates the provided destination NetworkProfile_STATUS from our NetworkProfile_STATUS +func (profile *NetworkProfile_STATUS) AssignProperties_To_NetworkProfile_STATUS(destination *storage.NetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // HostPrefix + if profile.HostPrefix != nil { + propertyBag.Add("HostPrefix", *profile.HostPrefix) + } else { + propertyBag.Remove("HostPrefix") + } + + // LoadBalancerProfile + if propertyBag.Contains("LoadBalancerProfile") { + var loadBalancerProfile storage.LoadBalancerProfile_STATUS + err := propertyBag.Pull("LoadBalancerProfile", &loadBalancerProfile) + if err != nil { + return eris.Wrap(err, "pulling 'LoadBalancerProfile' from propertyBag") + } + + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // MachineCidr + if profile.MachineCidr != nil { + propertyBag.Add("MachineCidr", *profile.MachineCidr) + } else { + propertyBag.Remove("MachineCidr") + } + + // NetworkType + if profile.NetworkType != nil { + propertyBag.Add("NetworkType", *profile.NetworkType) + } else { + propertyBag.Remove("NetworkType") + } + + // OutboundType + if propertyBag.Contains("OutboundType") { + var outboundType string + err := propertyBag.Pull("OutboundType", &outboundType) + if err != nil { + return eris.Wrap(err, "pulling 'OutboundType' from propertyBag") + } + + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // PreconfiguredNSG + if propertyBag.Contains("PreconfiguredNSG") { + var preconfiguredNSG string + err := propertyBag.Pull("PreconfiguredNSG", &preconfiguredNSG) + if err != nil { + return eris.Wrap(err, "pulling 'PreconfiguredNSG' from propertyBag") + } + + destination.PreconfiguredNSG = &preconfiguredNSG + } else { + destination.PreconfiguredNSG = nil + } + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return eris.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240610preview.PlatformProfile +// Azure specific configuration +type PlatformProfile struct { + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + + // +kubebuilder:validation:Required + // NetworkSecurityGroupReference: ResourceId for the NSG (network security group) attached to the cluster subnet + // Note that NSGs cannot be reused for other ARO-HCP clusters. + NetworkSecurityGroupReference *genruntime.ResourceReference `armReference:"NetworkSecurityGroupId" json:"networkSecurityGroupReference,omitempty"` + OperatorsAuthentication *OperatorsAuthenticationProfile `json:"operatorsAuthentication,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // +kubebuilder:validation:Required + // SubnetReference: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters. + SubnetReference *genruntime.ResourceReference `armReference:"SubnetId" json:"subnetReference,omitempty"` +} + +// Storage version of v1api20240610preview.PlatformProfile_STATUS +// Azure specific configuration +type PlatformProfile_STATUS struct { + IssuerUrl *string `json:"issuerUrl,omitempty"` + ManagedResourceGroup *string `json:"managedResourceGroup,omitempty"` + NetworkSecurityGroupId *string `json:"networkSecurityGroupId,omitempty"` + OperatorsAuthentication *OperatorsAuthenticationProfile_STATUS `json:"operatorsAuthentication,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` +} + +// Storage version of v1api20240610preview.UserAssignedIdentity_STATUS +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.UserAssignedIdentityDetails +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// Storage version of v1api20240610preview.VersionProfile +// Versions represents an OpenShift version. +type VersionProfile struct { + ChannelGroup *string `json:"channelGroup,omitempty"` + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.VersionProfile_STATUS +// Versions represents an OpenShift version. +type VersionProfile_STATUS struct { + ChannelGroup *string `json:"channelGroup,omitempty"` + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +type augmentConversionForConsoleProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ConsoleProfile_STATUS) error + AssignPropertiesTo(dst *storage.ConsoleProfile_STATUS) error +} + +type augmentConversionForNetworkProfile interface { + AssignPropertiesFrom(src *storage.NetworkProfile) error + AssignPropertiesTo(dst *storage.NetworkProfile) error +} + +type augmentConversionForNetworkProfile_STATUS interface { + AssignPropertiesFrom(src *storage.NetworkProfile_STATUS) error + AssignPropertiesTo(dst *storage.NetworkProfile_STATUS) error +} + +// Storage version of v1api20240610preview.EtcdDataEncryptionProfile +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile struct { + CustomerManaged *CustomerManagedEncryptionProfile `json:"customerManaged,omitempty"` + KeyManagementMode *string `json:"keyManagementMode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.EtcdDataEncryptionProfile_STATUS +// The ETCD data encryption settings. +type EtcdDataEncryptionProfile_STATUS struct { + CustomerManaged *CustomerManagedEncryptionProfile_STATUS `json:"customerManaged,omitempty"` + KeyManagementMode *string `json:"keyManagementMode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.OperatorsAuthenticationProfile +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities *UserAssignedIdentitiesProfile `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240610preview.OperatorsAuthenticationProfile_STATUS +// The configuration that the operators of the cluster have to authenticate to Azure. +type OperatorsAuthenticationProfile_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities *UserAssignedIdentitiesProfile_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240610preview.CustomerManagedEncryptionProfile +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile struct { + EncryptionType *string `json:"encryptionType,omitempty"` + Kms *KmsEncryptionProfile `json:"kms,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.CustomerManagedEncryptionProfile_STATUS +// Customer managed encryption key profile. +type CustomerManagedEncryptionProfile_STATUS struct { + EncryptionType *string `json:"encryptionType,omitempty"` + Kms *KmsEncryptionProfile_STATUS `json:"kms,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.UserAssignedIdentitiesProfile +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile struct { + ControlPlaneOperatorsReferences map[string]genruntime.ResourceReference `armReference:"ControlPlaneOperators" json:"controlPlaneOperatorsReferences,omitempty"` + DataPlaneOperatorsReferences map[string]genruntime.ResourceReference `armReference:"DataPlaneOperators" json:"dataPlaneOperatorsReferences,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // +kubebuilder:validation:Required + // ServiceManagedIdentityReference: Represents the information associated to an Azure User-Assigned Managed Identity whose + // purpose is to perform service level actions. + ServiceManagedIdentityReference *genruntime.ResourceReference `armReference:"ServiceManagedIdentity" json:"serviceManagedIdentityReference,omitempty"` +} + +// Storage version of v1api20240610preview.UserAssignedIdentitiesProfile_STATUS +// Represents the information related to Azure User-Assigned managed identities needed +// to perform Operators authentication +// based on Azure User-Assigned Managed Identities +type UserAssignedIdentitiesProfile_STATUS struct { + ControlPlaneOperators map[string]string `json:"controlPlaneOperators,omitempty"` + DataPlaneOperators map[string]string `json:"dataPlaneOperators,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceManagedIdentity *string `json:"serviceManagedIdentity,omitempty"` +} + +// Storage version of v1api20240610preview.KmsEncryptionProfile +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile struct { + ActiveKey *KmsKey `json:"activeKey,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.KmsEncryptionProfile_STATUS +// Configure etcd encryption Key Management Service (KMS) key. +// Your Microsoft Entra application used to create the cluster +// must be authorized to access this keyvault, +// e.g using the AzureCLI: `az keyvault set-policy -n $KEYVAULT_NAME +// --key-permissions decrypt encrypt --spn ` +type KmsEncryptionProfile_STATUS struct { + ActiveKey *KmsKey_STATUS `json:"activeKey,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.KmsKey +// A representation of a KeyVault Secret. +type KmsKey struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VaultName *string `json:"vaultName,omitempty"` + Version *string `json:"version,omitempty"` +} + +// Storage version of v1api20240610preview.KmsKey_STATUS +// A representation of a KeyVault Secret. +type KmsKey_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VaultName *string `json:"vaultName,omitempty"` + Version *string `json:"version,omitempty"` +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftCluster{}, &HcpOpenShiftClusterList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen_test.go new file mode 100644 index 00000000000..9fba37b6f5b --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_cluster_types_gen_test.go @@ -0,0 +1,2903 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20231122/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ApiProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile, ApiProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile runs a test to see if a specific instance of ApiProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile(subject ApiProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile instances for property testing - lazily instantiated by ApiProfileGenerator() +var apiProfileGenerator gopter.Gen + +// ApiProfileGenerator returns a generator of ApiProfile instances for property testing. +func ApiProfileGenerator() gopter.Gen { + if apiProfileGenerator != nil { + return apiProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile(generators) + apiProfileGenerator = gen.Struct(reflect.TypeOf(ApiProfile{}), generators) + + return apiProfileGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ApiProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApiProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApiProfile_STATUS, ApiProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApiProfile_STATUS runs a test to see if a specific instance of ApiProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApiProfile_STATUS(subject ApiProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApiProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApiProfile_STATUS instances for property testing - lazily instantiated by ApiProfile_STATUSGenerator() +var apiProfile_STATUSGenerator gopter.Gen + +// ApiProfile_STATUSGenerator returns a generator of ApiProfile_STATUS instances for property testing. +func ApiProfile_STATUSGenerator() gopter.Gen { + if apiProfile_STATUSGenerator != nil { + return apiProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApiProfile_STATUS(generators) + apiProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ApiProfile_STATUS{}), generators) + + return apiProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApiProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApiProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) + gens["Visibility"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterAutoscalingProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile, ClusterAutoscalingProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile runs a test to see if a specific instance of ClusterAutoscalingProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile(subject ClusterAutoscalingProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile instances for property testing - lazily instantiated by +// ClusterAutoscalingProfileGenerator() +var clusterAutoscalingProfileGenerator gopter.Gen + +// ClusterAutoscalingProfileGenerator returns a generator of ClusterAutoscalingProfile instances for property testing. +func ClusterAutoscalingProfileGenerator() gopter.Gen { + if clusterAutoscalingProfileGenerator != nil { + return clusterAutoscalingProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(generators) + clusterAutoscalingProfileGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile{}), generators) + + return clusterAutoscalingProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterAutoscalingProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterAutoscalingProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterAutoscalingProfile_STATUS, ClusterAutoscalingProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterAutoscalingProfile_STATUS runs a test to see if a specific instance of ClusterAutoscalingProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterAutoscalingProfile_STATUS(subject ClusterAutoscalingProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterAutoscalingProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterAutoscalingProfile_STATUS instances for property testing - lazily instantiated by +// ClusterAutoscalingProfile_STATUSGenerator() +var clusterAutoscalingProfile_STATUSGenerator gopter.Gen + +// ClusterAutoscalingProfile_STATUSGenerator returns a generator of ClusterAutoscalingProfile_STATUS instances for property testing. +func ClusterAutoscalingProfile_STATUSGenerator() gopter.Gen { + if clusterAutoscalingProfile_STATUSGenerator != nil { + return clusterAutoscalingProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(generators) + clusterAutoscalingProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterAutoscalingProfile_STATUS{}), generators) + + return clusterAutoscalingProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterAutoscalingProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaxNodeProvisionTimeSeconds"] = gen.PtrOf(gen.Int()) + gens["MaxNodesTotal"] = gen.PtrOf(gen.Int()) + gens["MaxPodGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["PodPriorityThreshold"] = gen.PtrOf(gen.Int()) +} + +func Test_ClusterImageRegistryProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile, ClusterImageRegistryProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile runs a test to see if a specific instance of ClusterImageRegistryProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile(subject ClusterImageRegistryProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile instances for property testing - lazily instantiated by +// ClusterImageRegistryProfileGenerator() +var clusterImageRegistryProfileGenerator gopter.Gen + +// ClusterImageRegistryProfileGenerator returns a generator of ClusterImageRegistryProfile instances for property testing. +func ClusterImageRegistryProfileGenerator() gopter.Gen { + if clusterImageRegistryProfileGenerator != nil { + return clusterImageRegistryProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(generators) + clusterImageRegistryProfileGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile{}), generators) + + return clusterImageRegistryProfileGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterImageRegistryProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterImageRegistryProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterImageRegistryProfile_STATUS, ClusterImageRegistryProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterImageRegistryProfile_STATUS runs a test to see if a specific instance of ClusterImageRegistryProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterImageRegistryProfile_STATUS(subject ClusterImageRegistryProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterImageRegistryProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterImageRegistryProfile_STATUS instances for property testing - lazily instantiated by +// ClusterImageRegistryProfile_STATUSGenerator() +var clusterImageRegistryProfile_STATUSGenerator gopter.Gen + +// ClusterImageRegistryProfile_STATUSGenerator returns a generator of ClusterImageRegistryProfile_STATUS instances for property testing. +func ClusterImageRegistryProfile_STATUSGenerator() gopter.Gen { + if clusterImageRegistryProfile_STATUSGenerator != nil { + return clusterImageRegistryProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(generators) + clusterImageRegistryProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterImageRegistryProfile_STATUS{}), generators) + + return clusterImageRegistryProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClusterImageRegistryProfile_STATUS(gens map[string]gopter.Gen) { + gens["State"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ConsoleProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ConsoleProfile_STATUS to ConsoleProfile_STATUS via AssignProperties_To_ConsoleProfile_STATUS & AssignProperties_From_ConsoleProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForConsoleProfile_STATUS, ConsoleProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForConsoleProfile_STATUS tests if a specific instance of ConsoleProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForConsoleProfile_STATUS(subject ConsoleProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ConsoleProfile_STATUS + err := copied.AssignProperties_To_ConsoleProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ConsoleProfile_STATUS + err = actual.AssignProperties_From_ConsoleProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ConsoleProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ConsoleProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConsoleProfile_STATUS, ConsoleProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConsoleProfile_STATUS runs a test to see if a specific instance of ConsoleProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConsoleProfile_STATUS(subject ConsoleProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ConsoleProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ConsoleProfile_STATUS instances for property testing - lazily instantiated by +// ConsoleProfile_STATUSGenerator() +var consoleProfile_STATUSGenerator gopter.Gen + +// ConsoleProfile_STATUSGenerator returns a generator of ConsoleProfile_STATUS instances for property testing. +func ConsoleProfile_STATUSGenerator() gopter.Gen { + if consoleProfile_STATUSGenerator != nil { + return consoleProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(generators) + consoleProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ConsoleProfile_STATUS{}), generators) + + return consoleProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConsoleProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConsoleProfile_STATUS(gens map[string]gopter.Gen) { + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomerManagedEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile, CustomerManagedEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile runs a test to see if a specific instance of CustomerManagedEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile(subject CustomerManagedEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfileGenerator() +var customerManagedEncryptionProfileGenerator gopter.Gen + +// CustomerManagedEncryptionProfileGenerator returns a generator of CustomerManagedEncryptionProfile instances for property testing. +// We first initialize customerManagedEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfileGenerator() gopter.Gen { + if customerManagedEncryptionProfileGenerator != nil { + return customerManagedEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(generators) + customerManagedEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile{}), generators) + + return customerManagedEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfileGenerator()) +} + +func Test_CustomerManagedEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CustomerManagedEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS, CustomerManagedEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS runs a test to see if a specific instance of CustomerManagedEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomerManagedEncryptionProfile_STATUS(subject CustomerManagedEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomerManagedEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CustomerManagedEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// CustomerManagedEncryptionProfile_STATUSGenerator() +var customerManagedEncryptionProfile_STATUSGenerator gopter.Gen + +// CustomerManagedEncryptionProfile_STATUSGenerator returns a generator of CustomerManagedEncryptionProfile_STATUS instances for property testing. +// We first initialize customerManagedEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func CustomerManagedEncryptionProfile_STATUSGenerator() gopter.Gen { + if customerManagedEncryptionProfile_STATUSGenerator != nil { + return customerManagedEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(generators) + customerManagedEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomerManagedEncryptionProfile_STATUS{}), generators) + + return customerManagedEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomerManagedEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["Kms"] = gen.PtrOf(KmsEncryptionProfile_STATUSGenerator()) +} + +func Test_DnsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile, DnsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile runs a test to see if a specific instance of DnsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile(subject DnsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile instances for property testing - lazily instantiated by DnsProfileGenerator() +var dnsProfileGenerator gopter.Gen + +// DnsProfileGenerator returns a generator of DnsProfile instances for property testing. +func DnsProfileGenerator() gopter.Gen { + if dnsProfileGenerator != nil { + return dnsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile(generators) + dnsProfileGenerator = gen.Struct(reflect.TypeOf(DnsProfile{}), generators) + + return dnsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile(gens map[string]gopter.Gen) { + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DnsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DnsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDnsProfile_STATUS, DnsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDnsProfile_STATUS runs a test to see if a specific instance of DnsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDnsProfile_STATUS(subject DnsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DnsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DnsProfile_STATUS instances for property testing - lazily instantiated by DnsProfile_STATUSGenerator() +var dnsProfile_STATUSGenerator gopter.Gen + +// DnsProfile_STATUSGenerator returns a generator of DnsProfile_STATUS instances for property testing. +func DnsProfile_STATUSGenerator() gopter.Gen { + if dnsProfile_STATUSGenerator != nil { + return dnsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDnsProfile_STATUS(generators) + dnsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(DnsProfile_STATUS{}), generators) + + return dnsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDnsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDnsProfile_STATUS(gens map[string]gopter.Gen) { + gens["BaseDomain"] = gen.PtrOf(gen.AlphaString()) + gens["BaseDomainPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EtcdDataEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile, EtcdDataEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile runs a test to see if a specific instance of EtcdDataEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile(subject EtcdDataEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfileGenerator() +var etcdDataEncryptionProfileGenerator gopter.Gen + +// EtcdDataEncryptionProfileGenerator returns a generator of EtcdDataEncryptionProfile instances for property testing. +// We first initialize etcdDataEncryptionProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfileGenerator() gopter.Gen { + if etcdDataEncryptionProfileGenerator != nil { + return etcdDataEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(generators) + etcdDataEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile{}), generators) + + return etcdDataEncryptionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfileGenerator()) +} + +func Test_EtcdDataEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdDataEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS, EtcdDataEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS runs a test to see if a specific instance of EtcdDataEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdDataEncryptionProfile_STATUS(subject EtcdDataEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdDataEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdDataEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// EtcdDataEncryptionProfile_STATUSGenerator() +var etcdDataEncryptionProfile_STATUSGenerator gopter.Gen + +// EtcdDataEncryptionProfile_STATUSGenerator returns a generator of EtcdDataEncryptionProfile_STATUS instances for property testing. +// We first initialize etcdDataEncryptionProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func EtcdDataEncryptionProfile_STATUSGenerator() gopter.Gen { + if etcdDataEncryptionProfile_STATUSGenerator != nil { + return etcdDataEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(generators) + etcdDataEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdDataEncryptionProfile_STATUS{}), generators) + + return etcdDataEncryptionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["KeyManagementMode"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdDataEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["CustomerManaged"] = gen.PtrOf(CustomerManagedEncryptionProfile_STATUSGenerator()) +} + +func Test_EtcdProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile, EtcdProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile runs a test to see if a specific instance of EtcdProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile(subject EtcdProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile instances for property testing - lazily instantiated by EtcdProfileGenerator() +var etcdProfileGenerator gopter.Gen + +// EtcdProfileGenerator returns a generator of EtcdProfile instances for property testing. +func EtcdProfileGenerator() gopter.Gen { + if etcdProfileGenerator != nil { + return etcdProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile(generators) + etcdProfileGenerator = gen.Struct(reflect.TypeOf(EtcdProfile{}), generators) + + return etcdProfileGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfileGenerator()) +} + +func Test_EtcdProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of EtcdProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEtcdProfile_STATUS, EtcdProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEtcdProfile_STATUS runs a test to see if a specific instance of EtcdProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEtcdProfile_STATUS(subject EtcdProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EtcdProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of EtcdProfile_STATUS instances for property testing - lazily instantiated by EtcdProfile_STATUSGenerator() +var etcdProfile_STATUSGenerator gopter.Gen + +// EtcdProfile_STATUSGenerator returns a generator of EtcdProfile_STATUS instances for property testing. +func EtcdProfile_STATUSGenerator() gopter.Gen { + if etcdProfile_STATUSGenerator != nil { + return etcdProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(generators) + etcdProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(EtcdProfile_STATUS{}), generators) + + return etcdProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForEtcdProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForEtcdProfile_STATUS(gens map[string]gopter.Gen) { + gens["DataEncryption"] = gen.PtrOf(EtcdDataEncryptionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster, HcpOpenShiftClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster runs a test to see if a specific instance of HcpOpenShiftCluster round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster(subject HcpOpenShiftCluster) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster instances for property testing - lazily instantiated by +// HcpOpenShiftClusterGenerator() +var hcpOpenShiftClusterGenerator gopter.Gen + +// HcpOpenShiftClusterGenerator returns a generator of HcpOpenShiftCluster instances for property testing. +func HcpOpenShiftClusterGenerator() gopter.Gen { + if hcpOpenShiftClusterGenerator != nil { + return hcpOpenShiftClusterGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster(generators) + hcpOpenShiftClusterGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster{}), generators) + + return hcpOpenShiftClusterGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftCluster_SpecGenerator() + gens["Status"] = HcpOpenShiftCluster_STATUSGenerator() +} + +func Test_HcpOpenShiftClusterOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets, HcpOpenShiftClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets runs a test to see if a specific instance of HcpOpenShiftClusterOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterOperatorSecrets(subject HcpOpenShiftClusterOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterOperatorSecrets instances for property testing - lazily instantiated by +// HcpOpenShiftClusterOperatorSecretsGenerator() +var hcpOpenShiftClusterOperatorSecretsGenerator gopter.Gen + +// HcpOpenShiftClusterOperatorSecretsGenerator returns a generator of HcpOpenShiftClusterOperatorSecrets instances for property testing. +func HcpOpenShiftClusterOperatorSecretsGenerator() gopter.Gen { + if hcpOpenShiftClusterOperatorSecretsGenerator != nil { + return hcpOpenShiftClusterOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClusterOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterOperatorSecrets{}), generators) + + return hcpOpenShiftClusterOperatorSecretsGenerator +} + +func Test_HcpOpenShiftClusterOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec, HcpOpenShiftClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClusterOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterOperatorSpec(subject HcpOpenShiftClusterOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClusterOperatorSpecGenerator() +var hcpOpenShiftClusterOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClusterOperatorSpecGenerator returns a generator of HcpOpenShiftClusterOperatorSpec instances for property testing. +func HcpOpenShiftClusterOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClusterOperatorSpecGenerator != nil { + return hcpOpenShiftClusterOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec(generators) + hcpOpenShiftClusterOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterOperatorSpec{}), generators) + + return hcpOpenShiftClusterOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterOperatorSpec(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.PtrOf(HcpOpenShiftClusterOperatorSecretsGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties, HcpOpenShiftClusterPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties runs a test to see if a specific instance of HcpOpenShiftClusterProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties(subject HcpOpenShiftClusterProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties instances for property testing - lazily instantiated by +// HcpOpenShiftClusterPropertiesGenerator() +var hcpOpenShiftClusterPropertiesGenerator gopter.Gen + +// HcpOpenShiftClusterPropertiesGenerator returns a generator of HcpOpenShiftClusterProperties instances for property testing. +// We first initialize hcpOpenShiftClusterPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterPropertiesGenerator() gopter.Gen { + if hcpOpenShiftClusterPropertiesGenerator != nil { + return hcpOpenShiftClusterPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(generators) + hcpOpenShiftClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties{}), generators) + + return hcpOpenShiftClusterPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfileGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfileGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfileGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfileGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfileGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfileGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfileGenerator()) + gens["Version"] = gen.PtrOf(VersionProfileGenerator()) +} + +func Test_HcpOpenShiftClusterProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClusterProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS, HcpOpenShiftClusterProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS runs a test to see if a specific instance of HcpOpenShiftClusterProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClusterProperties_STATUS(subject HcpOpenShiftClusterProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClusterProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClusterProperties_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClusterProperties_STATUSGenerator() +var hcpOpenShiftClusterProperties_STATUSGenerator gopter.Gen + +// HcpOpenShiftClusterProperties_STATUSGenerator returns a generator of HcpOpenShiftClusterProperties_STATUS instances for property testing. +// We first initialize hcpOpenShiftClusterProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClusterProperties_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClusterProperties_STATUSGenerator != nil { + return hcpOpenShiftClusterProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(generators) + hcpOpenShiftClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClusterProperties_STATUS{}), generators) + + return hcpOpenShiftClusterProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["Api"] = gen.PtrOf(ApiProfile_STATUSGenerator()) + gens["Autoscaling"] = gen.PtrOf(ClusterAutoscalingProfile_STATUSGenerator()) + gens["ClusterImageRegistry"] = gen.PtrOf(ClusterImageRegistryProfile_STATUSGenerator()) + gens["Console"] = gen.PtrOf(ConsoleProfile_STATUSGenerator()) + gens["Dns"] = gen.PtrOf(DnsProfile_STATUSGenerator()) + gens["Etcd"] = gen.PtrOf(EtcdProfile_STATUSGenerator()) + gens["Network"] = gen.PtrOf(NetworkProfile_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(PlatformProfile_STATUSGenerator()) + gens["Version"] = gen.PtrOf(VersionProfile_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_STATUS, HcpOpenShiftCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_STATUS runs a test to see if a specific instance of HcpOpenShiftCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_STATUS(subject HcpOpenShiftCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_STATUSGenerator() +var hcpOpenShiftCluster_STATUSGenerator gopter.Gen + +// HcpOpenShiftCluster_STATUSGenerator returns a generator of HcpOpenShiftCluster_STATUS instances for property testing. +// We first initialize hcpOpenShiftCluster_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_STATUSGenerator() gopter.Gen { + if hcpOpenShiftCluster_STATUSGenerator != nil { + return hcpOpenShiftCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(generators) + hcpOpenShiftCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_STATUS{}), generators) + + return hcpOpenShiftCluster_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftCluster_Spec, HcpOpenShiftCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftCluster_Spec runs a test to see if a specific instance of HcpOpenShiftCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftCluster_Spec(subject HcpOpenShiftCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftCluster_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftCluster_SpecGenerator() +var hcpOpenShiftCluster_SpecGenerator gopter.Gen + +// HcpOpenShiftCluster_SpecGenerator returns a generator of HcpOpenShiftCluster_Spec instances for property testing. +// We first initialize hcpOpenShiftCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftCluster_SpecGenerator() gopter.Gen { + if hcpOpenShiftCluster_SpecGenerator != nil { + return hcpOpenShiftCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(generators) + hcpOpenShiftCluster_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftCluster_Spec{}), generators) + + return hcpOpenShiftCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftCluster_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClusterOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(HcpOpenShiftClusterPropertiesGenerator()) +} + +func Test_KmsEncryptionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile, KmsEncryptionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile runs a test to see if a specific instance of KmsEncryptionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile(subject KmsEncryptionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile instances for property testing - lazily instantiated by +// KmsEncryptionProfileGenerator() +var kmsEncryptionProfileGenerator gopter.Gen + +// KmsEncryptionProfileGenerator returns a generator of KmsEncryptionProfile instances for property testing. +func KmsEncryptionProfileGenerator() gopter.Gen { + if kmsEncryptionProfileGenerator != nil { + return kmsEncryptionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile(generators) + kmsEncryptionProfileGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile{}), generators) + + return kmsEncryptionProfileGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKeyGenerator()) +} + +func Test_KmsEncryptionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsEncryptionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsEncryptionProfile_STATUS, KmsEncryptionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsEncryptionProfile_STATUS runs a test to see if a specific instance of KmsEncryptionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsEncryptionProfile_STATUS(subject KmsEncryptionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsEncryptionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsEncryptionProfile_STATUS instances for property testing - lazily instantiated by +// KmsEncryptionProfile_STATUSGenerator() +var kmsEncryptionProfile_STATUSGenerator gopter.Gen + +// KmsEncryptionProfile_STATUSGenerator returns a generator of KmsEncryptionProfile_STATUS instances for property testing. +func KmsEncryptionProfile_STATUSGenerator() gopter.Gen { + if kmsEncryptionProfile_STATUSGenerator != nil { + return kmsEncryptionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(generators) + kmsEncryptionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsEncryptionProfile_STATUS{}), generators) + + return kmsEncryptionProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForKmsEncryptionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ActiveKey"] = gen.PtrOf(KmsKey_STATUSGenerator()) +} + +func Test_KmsKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey, KmsKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey runs a test to see if a specific instance of KmsKey round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey(subject KmsKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey instances for property testing - lazily instantiated by KmsKeyGenerator() +var kmsKeyGenerator gopter.Gen + +// KmsKeyGenerator returns a generator of KmsKey instances for property testing. +func KmsKeyGenerator() gopter.Gen { + if kmsKeyGenerator != nil { + return kmsKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey(generators) + kmsKeyGenerator = gen.Struct(reflect.TypeOf(KmsKey{}), generators) + + return kmsKeyGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KmsKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KmsKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKmsKey_STATUS, KmsKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKmsKey_STATUS runs a test to see if a specific instance of KmsKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKmsKey_STATUS(subject KmsKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KmsKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KmsKey_STATUS instances for property testing - lazily instantiated by KmsKey_STATUSGenerator() +var kmsKey_STATUSGenerator gopter.Gen + +// KmsKey_STATUSGenerator returns a generator of KmsKey_STATUS instances for property testing. +func KmsKey_STATUSGenerator() gopter.Gen { + if kmsKey_STATUSGenerator != nil { + return kmsKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKmsKey_STATUS(generators) + kmsKey_STATUSGenerator = gen.Struct(reflect.TypeOf(KmsKey_STATUS{}), generators) + + return kmsKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKmsKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKmsKey_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["VaultName"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedServiceIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_NetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NetworkProfile to NetworkProfile via AssignProperties_To_NetworkProfile & AssignProperties_From_NetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForNetworkProfile, NetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetworkProfile tests if a specific instance of NetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetworkProfile(subject NetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NetworkProfile + err := copied.AssignProperties_To_NetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NetworkProfile + err = actual.AssignProperties_From_NetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile, NetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile runs a test to see if a specific instance of NetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile(subject NetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile instances for property testing - lazily instantiated by NetworkProfileGenerator() +var networkProfileGenerator gopter.Gen + +// NetworkProfileGenerator returns a generator of NetworkProfile instances for property testing. +func NetworkProfileGenerator() gopter.Gen { + if networkProfileGenerator != nil { + return networkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile(generators) + networkProfileGenerator = gen.Struct(reflect.TypeOf(NetworkProfile{}), generators) + + return networkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from NetworkProfile_STATUS to NetworkProfile_STATUS via AssignProperties_To_NetworkProfile_STATUS & AssignProperties_From_NetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNetworkProfile_STATUS, NetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetworkProfile_STATUS tests if a specific instance of NetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetworkProfile_STATUS(subject NetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.NetworkProfile_STATUS + err := copied.AssignProperties_To_NetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual NetworkProfile_STATUS + err = actual.AssignProperties_From_NetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_NetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetworkProfile_STATUS, NetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetworkProfile_STATUS runs a test to see if a specific instance of NetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNetworkProfile_STATUS(subject NetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NetworkProfile_STATUS instances for property testing - lazily instantiated by +// NetworkProfile_STATUSGenerator() +var networkProfile_STATUSGenerator gopter.Gen + +// NetworkProfile_STATUSGenerator returns a generator of NetworkProfile_STATUS instances for property testing. +func NetworkProfile_STATUSGenerator() gopter.Gen { + if networkProfile_STATUSGenerator != nil { + return networkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(generators) + networkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NetworkProfile_STATUS{}), generators) + + return networkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["HostPrefix"] = gen.PtrOf(gen.Int()) + gens["MachineCidr"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkType"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OperatorsAuthenticationProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile, OperatorsAuthenticationProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile runs a test to see if a specific instance of OperatorsAuthenticationProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile(subject OperatorsAuthenticationProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfileGenerator() +var operatorsAuthenticationProfileGenerator gopter.Gen + +// OperatorsAuthenticationProfileGenerator returns a generator of OperatorsAuthenticationProfile instances for property testing. +func OperatorsAuthenticationProfileGenerator() gopter.Gen { + if operatorsAuthenticationProfileGenerator != nil { + return operatorsAuthenticationProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(generators) + operatorsAuthenticationProfileGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile{}), generators) + + return operatorsAuthenticationProfileGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfileGenerator()) +} + +func Test_OperatorsAuthenticationProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OperatorsAuthenticationProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS, OperatorsAuthenticationProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS runs a test to see if a specific instance of OperatorsAuthenticationProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOperatorsAuthenticationProfile_STATUS(subject OperatorsAuthenticationProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OperatorsAuthenticationProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OperatorsAuthenticationProfile_STATUS instances for property testing - lazily instantiated by +// OperatorsAuthenticationProfile_STATUSGenerator() +var operatorsAuthenticationProfile_STATUSGenerator gopter.Gen + +// OperatorsAuthenticationProfile_STATUSGenerator returns a generator of OperatorsAuthenticationProfile_STATUS instances for property testing. +func OperatorsAuthenticationProfile_STATUSGenerator() gopter.Gen { + if operatorsAuthenticationProfile_STATUSGenerator != nil { + return operatorsAuthenticationProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(generators) + operatorsAuthenticationProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OperatorsAuthenticationProfile_STATUS{}), generators) + + return operatorsAuthenticationProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOperatorsAuthenticationProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.PtrOf(UserAssignedIdentitiesProfile_STATUSGenerator()) +} + +func Test_PlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile, PlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile runs a test to see if a specific instance of PlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile(subject PlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile instances for property testing - lazily instantiated by PlatformProfileGenerator() +var platformProfileGenerator gopter.Gen + +// PlatformProfileGenerator returns a generator of PlatformProfile instances for property testing. +// We first initialize platformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfileGenerator() gopter.Gen { + if platformProfileGenerator != nil { + return platformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile(generators) + AddRelatedPropertyGeneratorsForPlatformProfile(generators) + platformProfileGenerator = gen.Struct(reflect.TypeOf(PlatformProfile{}), generators) + + return platformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfileGenerator()) +} + +func Test_PlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPlatformProfile_STATUS, PlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPlatformProfile_STATUS runs a test to see if a specific instance of PlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPlatformProfile_STATUS(subject PlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PlatformProfile_STATUS instances for property testing - lazily instantiated by +// PlatformProfile_STATUSGenerator() +var platformProfile_STATUSGenerator gopter.Gen + +// PlatformProfile_STATUSGenerator returns a generator of PlatformProfile_STATUS instances for property testing. +// We first initialize platformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func PlatformProfile_STATUSGenerator() gopter.Gen { + if platformProfile_STATUSGenerator != nil { + return platformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(generators) + platformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(PlatformProfile_STATUS{}), generators) + + return platformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["IssuerUrl"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkSecurityGroupId"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.AlphaString()) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OperatorsAuthentication"] = gen.PtrOf(OperatorsAuthenticationProfile_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentitiesProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile, UserAssignedIdentitiesProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile runs a test to see if a specific instance of UserAssignedIdentitiesProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile(subject UserAssignedIdentitiesProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfileGenerator() +var userAssignedIdentitiesProfileGenerator gopter.Gen + +// UserAssignedIdentitiesProfileGenerator returns a generator of UserAssignedIdentitiesProfile instances for property testing. +func UserAssignedIdentitiesProfileGenerator() gopter.Gen { + if userAssignedIdentitiesProfileGenerator != nil { + return userAssignedIdentitiesProfileGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentitiesProfileGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile{}), generators) + + return userAssignedIdentitiesProfileGenerator +} + +func Test_UserAssignedIdentitiesProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentitiesProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS, UserAssignedIdentitiesProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS runs a test to see if a specific instance of UserAssignedIdentitiesProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentitiesProfile_STATUS(subject UserAssignedIdentitiesProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentitiesProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentitiesProfile_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentitiesProfile_STATUSGenerator() +var userAssignedIdentitiesProfile_STATUSGenerator gopter.Gen + +// UserAssignedIdentitiesProfile_STATUSGenerator returns a generator of UserAssignedIdentitiesProfile_STATUS instances for property testing. +func UserAssignedIdentitiesProfile_STATUSGenerator() gopter.Gen { + if userAssignedIdentitiesProfile_STATUSGenerator != nil { + return userAssignedIdentitiesProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(generators) + userAssignedIdentitiesProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentitiesProfile_STATUS{}), generators) + + return userAssignedIdentitiesProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentitiesProfile_STATUS(gens map[string]gopter.Gen) { + gens["ControlPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["DataPlaneOperators"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ServiceManagedIdentity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile, VersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile runs a test to see if a specific instance of VersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile(subject VersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile instances for property testing - lazily instantiated by VersionProfileGenerator() +var versionProfileGenerator gopter.Gen + +// VersionProfileGenerator returns a generator of VersionProfile instances for property testing. +func VersionProfileGenerator() gopter.Gen { + if versionProfileGenerator != nil { + return versionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile(generators) + versionProfileGenerator = gen.Struct(reflect.TypeOf(VersionProfile{}), generators) + + return versionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of VersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVersionProfile_STATUS, VersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVersionProfile_STATUS runs a test to see if a specific instance of VersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVersionProfile_STATUS(subject VersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of VersionProfile_STATUS instances for property testing - lazily instantiated by +// VersionProfile_STATUSGenerator() +var versionProfile_STATUSGenerator gopter.Gen + +// VersionProfile_STATUSGenerator returns a generator of VersionProfile_STATUS instances for property testing. +func VersionProfile_STATUSGenerator() gopter.Gen { + if versionProfile_STATUSGenerator != nil { + return versionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVersionProfile_STATUS(generators) + versionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(VersionProfile_STATUS{}), generators) + + return versionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen.go new file mode 100644 index 00000000000..6ea09c0f80f --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen.go @@ -0,0 +1,466 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersexternalauths,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources={hcpopenshiftclustersexternalauths/status,hcpopenshiftclustersexternalauths/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} +type HcpOpenShiftClustersExternalAuth struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftClustersExternalAuth_Spec `json:"spec,omitempty"` + Status HcpOpenShiftClustersExternalAuth_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftClustersExternalAuth{} + +// GetConditions returns the conditions of the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetConditions() conditions.Conditions { + return auth.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (auth *HcpOpenShiftClustersExternalAuth) SetConditions(conditions conditions.Conditions) { + auth.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &HcpOpenShiftClustersExternalAuth{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (auth *HcpOpenShiftClustersExternalAuth) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if auth.Spec.OperatorSpec == nil { + return nil + } + return auth.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftClustersExternalAuth{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (auth *HcpOpenShiftClustersExternalAuth) SecretDestinationExpressions() []*core.DestinationExpression { + if auth.Spec.OperatorSpec == nil { + return nil + } + return auth.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftClustersExternalAuth{} + +// AzureName returns the Azure name of the resource +func (auth *HcpOpenShiftClustersExternalAuth) AzureName() string { + return auth.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (auth HcpOpenShiftClustersExternalAuth) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (auth *HcpOpenShiftClustersExternalAuth) GetSpec() genruntime.ConvertibleSpec { + return &auth.Spec +} + +// GetStatus returns the status of this resource +func (auth *HcpOpenShiftClustersExternalAuth) GetStatus() genruntime.ConvertibleStatus { + return &auth.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (auth *HcpOpenShiftClustersExternalAuth) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +func (auth *HcpOpenShiftClustersExternalAuth) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/externalAuths" +} + +// NewEmptyStatus returns a new empty (blank) status +func (auth *HcpOpenShiftClustersExternalAuth) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftClustersExternalAuth_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (auth *HcpOpenShiftClustersExternalAuth) Owner() *genruntime.ResourceReference { + if auth.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(auth.Spec) + return auth.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (auth *HcpOpenShiftClustersExternalAuth) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftClustersExternalAuth_STATUS); ok { + auth.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftClustersExternalAuth_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + auth.Status = st + return nil +} + +// Hub marks that this HcpOpenShiftClustersExternalAuth is the hub type for conversion +func (auth *HcpOpenShiftClustersExternalAuth) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (auth *HcpOpenShiftClustersExternalAuth) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: auth.Spec.OriginalVersion, + Kind: "HcpOpenShiftClustersExternalAuth", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName} +type HcpOpenShiftClustersExternalAuthList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftClustersExternalAuth `json:"items"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth_Spec +type HcpOpenShiftClustersExternalAuth_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + OperatorSpec *HcpOpenShiftClustersExternalAuthOperatorSpec `json:"operatorSpec,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + Owner *genruntime.KnownResourceReference `group:"redhatopenshift.azure.com" json:"owner,omitempty" kind:"HcpOpenShiftCluster"` + Properties *ExternalAuthProperties `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftClustersExternalAuth_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftClustersExternalAuth_Spec from the provided source +func (auth *HcpOpenShiftClustersExternalAuth_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == auth { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(auth) +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftClustersExternalAuth_Spec +func (auth *HcpOpenShiftClustersExternalAuth_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == auth { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(auth) +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuth_STATUS +type HcpOpenShiftClustersExternalAuth_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Properties *ExternalAuthProperties_STATUS `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftClustersExternalAuth_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftClustersExternalAuth_STATUS from the provided source +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == auth { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(auth) +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftClustersExternalAuth_STATUS +func (auth *HcpOpenShiftClustersExternalAuth_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == auth { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(auth) +} + +// Storage version of v1api20240610preview.ExternalAuthProperties +// External Auth profile +type ExternalAuthProperties struct { + Claim *ExternalAuthClaimProfile `json:"claim,omitempty"` + Clients []ExternalAuthClientProfile `json:"clients,omitempty"` + Issuer *TokenIssuerProfile `json:"issuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthProperties_STATUS +// External Auth profile +type ExternalAuthProperties_STATUS struct { + Claim *ExternalAuthClaimProfile_STATUS `json:"claim,omitempty"` + Clients []ExternalAuthClientProfile_STATUS `json:"clients,omitempty"` + Condition *ExternalAuthCondition_STATUS `json:"condition,omitempty"` + Issuer *TokenIssuerProfile_STATUS `json:"issuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersExternalAuthOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClustersExternalAuthOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClaimProfile +// External Auth claim profile +type ExternalAuthClaimProfile struct { + Mappings *TokenClaimMappingsProfile `json:"mappings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ValidationRules []TokenClaimValidationRule `json:"validationRules,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClaimProfile_STATUS +// External Auth claim profile +type ExternalAuthClaimProfile_STATUS struct { + Mappings *TokenClaimMappingsProfile_STATUS `json:"mappings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ValidationRules []TokenClaimValidationRule_STATUS `json:"validationRules,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClientProfile +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile struct { + ClientId *string `json:"clientId,omitempty"` + Component *ExternalAuthClientComponentProfile `json:"component,omitempty"` + ExtraScopes []string `json:"extraScopes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClientProfile_STATUS +// External Auth client profile +// This configures how on-cluster, platform clients should request tokens from the identity +// provider. +type ExternalAuthClientProfile_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + Component *ExternalAuthClientComponentProfile_STATUS `json:"component,omitempty"` + ExtraScopes []string `json:"extraScopes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthCondition_STATUS +// Condition defines an observation of the external auth state. +type ExternalAuthCondition_STATUS struct { + LastTransitionTime *string `json:"lastTransitionTime,omitempty"` + Message *string `json:"message,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reason *string `json:"reason,omitempty"` + Status *string `json:"status,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240610preview.TokenIssuerProfile +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile struct { + Audiences []string `json:"audiences,omitempty"` + Ca *string `json:"ca,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Url *string `json:"url,omitempty"` +} + +// Storage version of v1api20240610preview.TokenIssuerProfile_STATUS +// Token issuer profile +// This configures how the platform interacts with the identity provider and +// how tokens issued from +// the identity provider are evaluated by the Kubernetes API server. +type TokenIssuerProfile_STATUS struct { + Audiences []string `json:"audiences,omitempty"` + Ca *string `json:"ca,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Url *string `json:"url,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClientComponentProfile +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile struct { + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.ExternalAuthClientComponentProfile_STATUS +// External Auth component profile +// Must have unique namespace/name pairs. +type ExternalAuthClientComponentProfile_STATUS struct { + AuthClientNamespace *string `json:"authClientNamespace,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.TokenClaimMappingsProfile +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile struct { + Groups *GroupClaimProfile `json:"groups,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Username *UsernameClaimProfile `json:"username,omitempty"` +} + +// Storage version of v1api20240610preview.TokenClaimMappingsProfile_STATUS +// External Auth claim mappings profile. +// At a minimum username or groups must be defined. +type TokenClaimMappingsProfile_STATUS struct { + Groups *GroupClaimProfile_STATUS `json:"groups,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Username *UsernameClaimProfile_STATUS `json:"username,omitempty"` +} + +// Storage version of v1api20240610preview.TokenClaimValidationRule +// External Auth claim validation rule +type TokenClaimValidationRule struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredClaim *TokenRequiredClaim `json:"requiredClaim,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240610preview.TokenClaimValidationRule_STATUS +// External Auth claim validation rule +type TokenClaimValidationRule_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredClaim *TokenRequiredClaim_STATUS `json:"requiredClaim,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240610preview.GroupClaimProfile +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile struct { + Claim *string `json:"claim,omitempty"` + Prefix *string `json:"prefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.GroupClaimProfile_STATUS +// External Auth claim profile +// This configures how the groups of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. When +// referencing a claim, if the claim is present in the JWT token, its +// value +// must be a list of groups separated by a comma (','). +// For example - '"example"' and '"exampleOne", "exampleTwo", +// "exampleThree"' are valid claim values. +type GroupClaimProfile_STATUS struct { + Claim *string `json:"claim,omitempty"` + Prefix *string `json:"prefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.TokenRequiredClaim +// Token required claim validation rule. +type TokenRequiredClaim struct { + Claim *string `json:"claim,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredValue *string `json:"requiredValue,omitempty"` +} + +// Storage version of v1api20240610preview.TokenRequiredClaim_STATUS +// Token required claim validation rule. +type TokenRequiredClaim_STATUS struct { + Claim *string `json:"claim,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredValue *string `json:"requiredValue,omitempty"` +} + +// Storage version of v1api20240610preview.UsernameClaimProfile +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile struct { + Claim *string `json:"claim,omitempty"` + Prefix *string `json:"prefix,omitempty"` + PrefixPolicy *string `json:"prefixPolicy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.UsernameClaimProfile_STATUS +// External Auth claim profile +// This configures how the username of a cluster identity should be constructed +// from the claims +// in a JWT token issued by the identity provider. +type UsernameClaimProfile_STATUS struct { + Claim *string `json:"claim,omitempty"` + Prefix *string `json:"prefix,omitempty"` + PrefixPolicy *string `json:"prefixPolicy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftClustersExternalAuth{}, &HcpOpenShiftClustersExternalAuthList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen_test.go new file mode 100644 index 00000000000..7197ceba3a5 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_external_auth_types_gen_test.go @@ -0,0 +1,1669 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_ExternalAuthClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile, ExternalAuthClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile runs a test to see if a specific instance of ExternalAuthClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile(subject ExternalAuthClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile instances for property testing - lazily instantiated by +// ExternalAuthClaimProfileGenerator() +var externalAuthClaimProfileGenerator gopter.Gen + +// ExternalAuthClaimProfileGenerator returns a generator of ExternalAuthClaimProfile instances for property testing. +func ExternalAuthClaimProfileGenerator() gopter.Gen { + if externalAuthClaimProfileGenerator != nil { + return externalAuthClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(generators) + externalAuthClaimProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile{}), generators) + + return externalAuthClaimProfileGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfileGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRuleGenerator()) +} + +func Test_ExternalAuthClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClaimProfile_STATUS, ExternalAuthClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClaimProfile_STATUS runs a test to see if a specific instance of ExternalAuthClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClaimProfile_STATUS(subject ExternalAuthClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClaimProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClaimProfile_STATUSGenerator() +var externalAuthClaimProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClaimProfile_STATUSGenerator returns a generator of ExternalAuthClaimProfile_STATUS instances for property testing. +func ExternalAuthClaimProfile_STATUSGenerator() gopter.Gen { + if externalAuthClaimProfile_STATUSGenerator != nil { + return externalAuthClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(generators) + externalAuthClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClaimProfile_STATUS{}), generators) + + return externalAuthClaimProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mappings"] = gen.PtrOf(TokenClaimMappingsProfile_STATUSGenerator()) + gens["ValidationRules"] = gen.SliceOf(TokenClaimValidationRule_STATUSGenerator()) +} + +func Test_ExternalAuthClientComponentProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile, ExternalAuthClientComponentProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile runs a test to see if a specific instance of ExternalAuthClientComponentProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile(subject ExternalAuthClientComponentProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfileGenerator() +var externalAuthClientComponentProfileGenerator gopter.Gen + +// ExternalAuthClientComponentProfileGenerator returns a generator of ExternalAuthClientComponentProfile instances for property testing. +func ExternalAuthClientComponentProfileGenerator() gopter.Gen { + if externalAuthClientComponentProfileGenerator != nil { + return externalAuthClientComponentProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(generators) + externalAuthClientComponentProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile{}), generators) + + return externalAuthClientComponentProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientComponentProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientComponentProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS, ExternalAuthClientComponentProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientComponentProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientComponentProfile_STATUS(subject ExternalAuthClientComponentProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientComponentProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientComponentProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientComponentProfile_STATUSGenerator() +var externalAuthClientComponentProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientComponentProfile_STATUSGenerator returns a generator of ExternalAuthClientComponentProfile_STATUS instances for property testing. +func ExternalAuthClientComponentProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientComponentProfile_STATUSGenerator != nil { + return externalAuthClientComponentProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(generators) + externalAuthClientComponentProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientComponentProfile_STATUS{}), generators) + + return externalAuthClientComponentProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientComponentProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthClientNamespace"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthClientProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile, ExternalAuthClientProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile runs a test to see if a specific instance of ExternalAuthClientProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile(subject ExternalAuthClientProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile instances for property testing - lazily instantiated by +// ExternalAuthClientProfileGenerator() +var externalAuthClientProfileGenerator gopter.Gen + +// ExternalAuthClientProfileGenerator returns a generator of ExternalAuthClientProfile instances for property testing. +// We first initialize externalAuthClientProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfileGenerator() gopter.Gen { + if externalAuthClientProfileGenerator != nil { + return externalAuthClientProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile(generators) + externalAuthClientProfileGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile{}), generators) + + return externalAuthClientProfileGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfileGenerator()) +} + +func Test_ExternalAuthClientProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthClientProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthClientProfile_STATUS, ExternalAuthClientProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthClientProfile_STATUS runs a test to see if a specific instance of ExternalAuthClientProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthClientProfile_STATUS(subject ExternalAuthClientProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthClientProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthClientProfile_STATUS instances for property testing - lazily instantiated by +// ExternalAuthClientProfile_STATUSGenerator() +var externalAuthClientProfile_STATUSGenerator gopter.Gen + +// ExternalAuthClientProfile_STATUSGenerator returns a generator of ExternalAuthClientProfile_STATUS instances for property testing. +// We first initialize externalAuthClientProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthClientProfile_STATUSGenerator() gopter.Gen { + if externalAuthClientProfile_STATUSGenerator != nil { + return externalAuthClientProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(generators) + externalAuthClientProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthClientProfile_STATUS{}), generators) + + return externalAuthClientProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ExtraScopes"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthClientProfile_STATUS(gens map[string]gopter.Gen) { + gens["Component"] = gen.PtrOf(ExternalAuthClientComponentProfile_STATUSGenerator()) +} + +func Test_ExternalAuthCondition_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthCondition_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthCondition_STATUS, ExternalAuthCondition_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthCondition_STATUS runs a test to see if a specific instance of ExternalAuthCondition_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthCondition_STATUS(subject ExternalAuthCondition_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthCondition_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthCondition_STATUS instances for property testing - lazily instantiated by +// ExternalAuthCondition_STATUSGenerator() +var externalAuthCondition_STATUSGenerator gopter.Gen + +// ExternalAuthCondition_STATUSGenerator returns a generator of ExternalAuthCondition_STATUS instances for property testing. +func ExternalAuthCondition_STATUSGenerator() gopter.Gen { + if externalAuthCondition_STATUSGenerator != nil { + return externalAuthCondition_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(generators) + externalAuthCondition_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthCondition_STATUS{}), generators) + + return externalAuthCondition_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthCondition_STATUS(gens map[string]gopter.Gen) { + gens["LastTransitionTime"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Reason"] = gen.PtrOf(gen.AlphaString()) + gens["Status"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExternalAuthProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties, ExternalAuthPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties runs a test to see if a specific instance of ExternalAuthProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties(subject ExternalAuthProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties instances for property testing - lazily instantiated by +// ExternalAuthPropertiesGenerator() +var externalAuthPropertiesGenerator gopter.Gen + +// ExternalAuthPropertiesGenerator returns a generator of ExternalAuthProperties instances for property testing. +func ExternalAuthPropertiesGenerator() gopter.Gen { + if externalAuthPropertiesGenerator != nil { + return externalAuthPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForExternalAuthProperties(generators) + externalAuthPropertiesGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties{}), generators) + + return externalAuthPropertiesGenerator +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfileGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfileGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfileGenerator()) +} + +func Test_ExternalAuthProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExternalAuthProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExternalAuthProperties_STATUS, ExternalAuthProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExternalAuthProperties_STATUS runs a test to see if a specific instance of ExternalAuthProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExternalAuthProperties_STATUS(subject ExternalAuthProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExternalAuthProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExternalAuthProperties_STATUS instances for property testing - lazily instantiated by +// ExternalAuthProperties_STATUSGenerator() +var externalAuthProperties_STATUSGenerator gopter.Gen + +// ExternalAuthProperties_STATUSGenerator returns a generator of ExternalAuthProperties_STATUS instances for property testing. +// We first initialize externalAuthProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ExternalAuthProperties_STATUSGenerator() gopter.Gen { + if externalAuthProperties_STATUSGenerator != nil { + return externalAuthProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(generators) + externalAuthProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ExternalAuthProperties_STATUS{}), generators) + + return externalAuthProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForExternalAuthProperties_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(ExternalAuthClaimProfile_STATUSGenerator()) + gens["Clients"] = gen.SliceOf(ExternalAuthClientProfile_STATUSGenerator()) + gens["Condition"] = gen.PtrOf(ExternalAuthCondition_STATUSGenerator()) + gens["Issuer"] = gen.PtrOf(TokenIssuerProfile_STATUSGenerator()) +} + +func Test_GroupClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile, GroupClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile runs a test to see if a specific instance of GroupClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile(subject GroupClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile instances for property testing - lazily instantiated by GroupClaimProfileGenerator() +var groupClaimProfileGenerator gopter.Gen + +// GroupClaimProfileGenerator returns a generator of GroupClaimProfile instances for property testing. +func GroupClaimProfileGenerator() gopter.Gen { + if groupClaimProfileGenerator != nil { + return groupClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile(generators) + groupClaimProfileGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile{}), generators) + + return groupClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GroupClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of GroupClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGroupClaimProfile_STATUS, GroupClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGroupClaimProfile_STATUS runs a test to see if a specific instance of GroupClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGroupClaimProfile_STATUS(subject GroupClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GroupClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of GroupClaimProfile_STATUS instances for property testing - lazily instantiated by +// GroupClaimProfile_STATUSGenerator() +var groupClaimProfile_STATUSGenerator gopter.Gen + +// GroupClaimProfile_STATUSGenerator returns a generator of GroupClaimProfile_STATUS instances for property testing. +func GroupClaimProfile_STATUSGenerator() gopter.Gen { + if groupClaimProfile_STATUSGenerator != nil { + return groupClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(generators) + groupClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(GroupClaimProfile_STATUS{}), generators) + + return groupClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGroupClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HcpOpenShiftClustersExternalAuth_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth, HcpOpenShiftClustersExternalAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth(subject HcpOpenShiftClustersExternalAuth) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuthGenerator() +var hcpOpenShiftClustersExternalAuthGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuthGenerator returns a generator of HcpOpenShiftClustersExternalAuth instances for property testing. +func HcpOpenShiftClustersExternalAuthGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuthGenerator != nil { + return hcpOpenShiftClustersExternalAuthGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth(generators) + hcpOpenShiftClustersExternalAuthGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth{}), generators) + + return hcpOpenShiftClustersExternalAuthGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftClustersExternalAuth_SpecGenerator() + gens["Status"] = HcpOpenShiftClustersExternalAuth_STATUSGenerator() +} + +func Test_HcpOpenShiftClustersExternalAuthOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuthOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec, HcpOpenShiftClustersExternalAuthOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuthOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuthOperatorSpec(subject HcpOpenShiftClustersExternalAuthOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuthOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuthOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuthOperatorSpecGenerator() +var hcpOpenShiftClustersExternalAuthOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuthOperatorSpecGenerator returns a generator of HcpOpenShiftClustersExternalAuthOperatorSpec instances for property testing. +func HcpOpenShiftClustersExternalAuthOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuthOperatorSpecGenerator != nil { + return hcpOpenShiftClustersExternalAuthOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClustersExternalAuthOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuthOperatorSpec{}), generators) + + return hcpOpenShiftClustersExternalAuthOperatorSpecGenerator +} + +func Test_HcpOpenShiftClustersExternalAuth_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS, HcpOpenShiftClustersExternalAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_STATUS(subject HcpOpenShiftClustersExternalAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_STATUSGenerator() +var hcpOpenShiftClustersExternalAuth_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_STATUSGenerator returns a generator of HcpOpenShiftClustersExternalAuth_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_STATUSGenerator != nil { + return hcpOpenShiftClustersExternalAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(generators) + hcpOpenShiftClustersExternalAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_STATUS{}), generators) + + return hcpOpenShiftClustersExternalAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ExternalAuthProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftClustersExternalAuth_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersExternalAuth_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec, HcpOpenShiftClustersExternalAuth_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec runs a test to see if a specific instance of HcpOpenShiftClustersExternalAuth_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersExternalAuth_Spec(subject HcpOpenShiftClustersExternalAuth_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersExternalAuth_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersExternalAuth_SpecGenerator() +var hcpOpenShiftClustersExternalAuth_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersExternalAuth_SpecGenerator returns a generator of HcpOpenShiftClustersExternalAuth_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersExternalAuth_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersExternalAuth_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersExternalAuth_SpecGenerator != nil { + return hcpOpenShiftClustersExternalAuth_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(generators) + hcpOpenShiftClustersExternalAuth_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersExternalAuth_Spec{}), generators) + + return hcpOpenShiftClustersExternalAuth_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["OriginalVersion"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersExternalAuth_Spec(gens map[string]gopter.Gen) { + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClustersExternalAuthOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(ExternalAuthPropertiesGenerator()) +} + +func Test_TokenClaimMappingsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile, TokenClaimMappingsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile runs a test to see if a specific instance of TokenClaimMappingsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile(subject TokenClaimMappingsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile instances for property testing - lazily instantiated by +// TokenClaimMappingsProfileGenerator() +var tokenClaimMappingsProfileGenerator gopter.Gen + +// TokenClaimMappingsProfileGenerator returns a generator of TokenClaimMappingsProfile instances for property testing. +func TokenClaimMappingsProfileGenerator() gopter.Gen { + if tokenClaimMappingsProfileGenerator != nil { + return tokenClaimMappingsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(generators) + tokenClaimMappingsProfileGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile{}), generators) + + return tokenClaimMappingsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfileGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfileGenerator()) +} + +func Test_TokenClaimMappingsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimMappingsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS, TokenClaimMappingsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS runs a test to see if a specific instance of TokenClaimMappingsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimMappingsProfile_STATUS(subject TokenClaimMappingsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimMappingsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimMappingsProfile_STATUS instances for property testing - lazily instantiated by +// TokenClaimMappingsProfile_STATUSGenerator() +var tokenClaimMappingsProfile_STATUSGenerator gopter.Gen + +// TokenClaimMappingsProfile_STATUSGenerator returns a generator of TokenClaimMappingsProfile_STATUS instances for property testing. +func TokenClaimMappingsProfile_STATUSGenerator() gopter.Gen { + if tokenClaimMappingsProfile_STATUSGenerator != nil { + return tokenClaimMappingsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(generators) + tokenClaimMappingsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimMappingsProfile_STATUS{}), generators) + + return tokenClaimMappingsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimMappingsProfile_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.PtrOf(GroupClaimProfile_STATUSGenerator()) + gens["Username"] = gen.PtrOf(UsernameClaimProfile_STATUSGenerator()) +} + +func Test_TokenClaimValidationRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule, TokenClaimValidationRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule runs a test to see if a specific instance of TokenClaimValidationRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule(subject TokenClaimValidationRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule instances for property testing - lazily instantiated by +// TokenClaimValidationRuleGenerator() +var tokenClaimValidationRuleGenerator gopter.Gen + +// TokenClaimValidationRuleGenerator returns a generator of TokenClaimValidationRule instances for property testing. +// We first initialize tokenClaimValidationRuleGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRuleGenerator() gopter.Gen { + if tokenClaimValidationRuleGenerator != nil { + return tokenClaimValidationRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule(generators) + tokenClaimValidationRuleGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule{}), generators) + + return tokenClaimValidationRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaimGenerator()) +} + +func Test_TokenClaimValidationRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenClaimValidationRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenClaimValidationRule_STATUS, TokenClaimValidationRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenClaimValidationRule_STATUS runs a test to see if a specific instance of TokenClaimValidationRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenClaimValidationRule_STATUS(subject TokenClaimValidationRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenClaimValidationRule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenClaimValidationRule_STATUS instances for property testing - lazily instantiated by +// TokenClaimValidationRule_STATUSGenerator() +var tokenClaimValidationRule_STATUSGenerator gopter.Gen + +// TokenClaimValidationRule_STATUSGenerator returns a generator of TokenClaimValidationRule_STATUS instances for property testing. +// We first initialize tokenClaimValidationRule_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TokenClaimValidationRule_STATUSGenerator() gopter.Gen { + if tokenClaimValidationRule_STATUSGenerator != nil { + return tokenClaimValidationRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(generators) + tokenClaimValidationRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenClaimValidationRule_STATUS{}), generators) + + return tokenClaimValidationRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenClaimValidationRule_STATUS(gens map[string]gopter.Gen) { + gens["RequiredClaim"] = gen.PtrOf(TokenRequiredClaim_STATUSGenerator()) +} + +func Test_TokenIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile, TokenIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile runs a test to see if a specific instance of TokenIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile(subject TokenIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile instances for property testing - lazily instantiated by TokenIssuerProfileGenerator() +var tokenIssuerProfileGenerator gopter.Gen + +// TokenIssuerProfileGenerator returns a generator of TokenIssuerProfile instances for property testing. +func TokenIssuerProfileGenerator() gopter.Gen { + if tokenIssuerProfileGenerator != nil { + return tokenIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile(generators) + tokenIssuerProfileGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile{}), generators) + + return tokenIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenIssuerProfile_STATUS, TokenIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenIssuerProfile_STATUS runs a test to see if a specific instance of TokenIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenIssuerProfile_STATUS(subject TokenIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenIssuerProfile_STATUS instances for property testing - lazily instantiated by +// TokenIssuerProfile_STATUSGenerator() +var tokenIssuerProfile_STATUSGenerator gopter.Gen + +// TokenIssuerProfile_STATUSGenerator returns a generator of TokenIssuerProfile_STATUS instances for property testing. +func TokenIssuerProfile_STATUSGenerator() gopter.Gen { + if tokenIssuerProfile_STATUSGenerator != nil { + return tokenIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(generators) + tokenIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenIssuerProfile_STATUS{}), generators) + + return tokenIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Audiences"] = gen.SliceOf(gen.AlphaString()) + gens["Ca"] = gen.PtrOf(gen.AlphaString()) + gens["Url"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim, TokenRequiredClaimGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim runs a test to see if a specific instance of TokenRequiredClaim round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim(subject TokenRequiredClaim) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim instances for property testing - lazily instantiated by TokenRequiredClaimGenerator() +var tokenRequiredClaimGenerator gopter.Gen + +// TokenRequiredClaimGenerator returns a generator of TokenRequiredClaim instances for property testing. +func TokenRequiredClaimGenerator() gopter.Gen { + if tokenRequiredClaimGenerator != nil { + return tokenRequiredClaimGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim(generators) + tokenRequiredClaimGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim{}), generators) + + return tokenRequiredClaimGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TokenRequiredClaim_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TokenRequiredClaim_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenRequiredClaim_STATUS, TokenRequiredClaim_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenRequiredClaim_STATUS runs a test to see if a specific instance of TokenRequiredClaim_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenRequiredClaim_STATUS(subject TokenRequiredClaim_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenRequiredClaim_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TokenRequiredClaim_STATUS instances for property testing - lazily instantiated by +// TokenRequiredClaim_STATUSGenerator() +var tokenRequiredClaim_STATUSGenerator gopter.Gen + +// TokenRequiredClaim_STATUSGenerator returns a generator of TokenRequiredClaim_STATUS instances for property testing. +func TokenRequiredClaim_STATUSGenerator() gopter.Gen { + if tokenRequiredClaim_STATUSGenerator != nil { + return tokenRequiredClaim_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(generators) + tokenRequiredClaim_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenRequiredClaim_STATUS{}), generators) + + return tokenRequiredClaim_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenRequiredClaim_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredValue"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UsernameClaimProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile, UsernameClaimProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile runs a test to see if a specific instance of UsernameClaimProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile(subject UsernameClaimProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile instances for property testing - lazily instantiated by +// UsernameClaimProfileGenerator() +var usernameClaimProfileGenerator gopter.Gen + +// UsernameClaimProfileGenerator returns a generator of UsernameClaimProfile instances for property testing. +func UsernameClaimProfileGenerator() gopter.Gen { + if usernameClaimProfileGenerator != nil { + return usernameClaimProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile(generators) + usernameClaimProfileGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile{}), generators) + + return usernameClaimProfileGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UsernameClaimProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UsernameClaimProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUsernameClaimProfile_STATUS, UsernameClaimProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUsernameClaimProfile_STATUS runs a test to see if a specific instance of UsernameClaimProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUsernameClaimProfile_STATUS(subject UsernameClaimProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UsernameClaimProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UsernameClaimProfile_STATUS instances for property testing - lazily instantiated by +// UsernameClaimProfile_STATUSGenerator() +var usernameClaimProfile_STATUSGenerator gopter.Gen + +// UsernameClaimProfile_STATUSGenerator returns a generator of UsernameClaimProfile_STATUS instances for property testing. +func UsernameClaimProfile_STATUSGenerator() gopter.Gen { + if usernameClaimProfile_STATUSGenerator != nil { + return usernameClaimProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(generators) + usernameClaimProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(UsernameClaimProfile_STATUS{}), generators) + + return usernameClaimProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUsernameClaimProfile_STATUS(gens map[string]gopter.Gen) { + gens["Claim"] = gen.PtrOf(gen.AlphaString()) + gens["Prefix"] = gen.PtrOf(gen.AlphaString()) + gens["PrefixPolicy"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen.go new file mode 100644 index 00000000000..8297ac20323 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen.go @@ -0,0 +1,400 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersnodepools,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=redhatopenshift.azure.com,resources={hcpopenshiftclustersnodepools/status,hcpopenshiftclustersnodepools/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:resource:categories={azure,redhatopenshift} +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} +type HcpOpenShiftClustersNodePool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HcpOpenShiftClustersNodePool_Spec `json:"spec,omitempty"` + Status HcpOpenShiftClustersNodePool_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &HcpOpenShiftClustersNodePool{} + +// GetConditions returns the conditions of the resource +func (pool *HcpOpenShiftClustersNodePool) GetConditions() conditions.Conditions { + return pool.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (pool *HcpOpenShiftClustersNodePool) SetConditions(conditions conditions.Conditions) { + pool.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &HcpOpenShiftClustersNodePool{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (pool *HcpOpenShiftClustersNodePool) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if pool.Spec.OperatorSpec == nil { + return nil + } + return pool.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &HcpOpenShiftClustersNodePool{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (pool *HcpOpenShiftClustersNodePool) SecretDestinationExpressions() []*core.DestinationExpression { + if pool.Spec.OperatorSpec == nil { + return nil + } + return pool.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &HcpOpenShiftClustersNodePool{} + +// AzureName returns the Azure name of the resource +func (pool *HcpOpenShiftClustersNodePool) AzureName() string { + return pool.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-06-10-preview" +func (pool HcpOpenShiftClustersNodePool) GetAPIVersion() string { + return "2024-06-10-preview" +} + +// GetResourceScope returns the scope of the resource +func (pool *HcpOpenShiftClustersNodePool) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (pool *HcpOpenShiftClustersNodePool) GetSpec() genruntime.ConvertibleSpec { + return &pool.Spec +} + +// GetStatus returns the status of this resource +func (pool *HcpOpenShiftClustersNodePool) GetStatus() genruntime.ConvertibleStatus { + return &pool.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (pool *HcpOpenShiftClustersNodePool) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +func (pool *HcpOpenShiftClustersNodePool) GetType() string { + return "Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools" +} + +// NewEmptyStatus returns a new empty (blank) status +func (pool *HcpOpenShiftClustersNodePool) NewEmptyStatus() genruntime.ConvertibleStatus { + return &HcpOpenShiftClustersNodePool_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (pool *HcpOpenShiftClustersNodePool) Owner() *genruntime.ResourceReference { + if pool.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(pool.Spec) + return pool.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (pool *HcpOpenShiftClustersNodePool) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*HcpOpenShiftClustersNodePool_STATUS); ok { + pool.Status = *st + return nil + } + + // Convert status to required version + var st HcpOpenShiftClustersNodePool_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + pool.Status = st + return nil +} + +// Hub marks that this HcpOpenShiftClustersNodePool is the hub type for conversion +func (pool *HcpOpenShiftClustersNodePool) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (pool *HcpOpenShiftClustersNodePool) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: pool.Spec.OriginalVersion, + Kind: "HcpOpenShiftClustersNodePool", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool +// Generator information: +// - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/hcpclusters/preview/2024-06-10-preview/openapi.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/nodePools/{nodePoolName} +type HcpOpenShiftClustersNodePoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HcpOpenShiftClustersNodePool `json:"items"` +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool_Spec +type HcpOpenShiftClustersNodePool_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + OperatorSpec *HcpOpenShiftClustersNodePoolOperatorSpec `json:"operatorSpec,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a redhatopenshift.azure.com/HcpOpenShiftCluster resource + Owner *genruntime.KnownResourceReference `group:"redhatopenshift.azure.com" json:"owner,omitempty" kind:"HcpOpenShiftCluster"` + Properties *NodePoolProperties `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &HcpOpenShiftClustersNodePool_Spec{} + +// ConvertSpecFrom populates our HcpOpenShiftClustersNodePool_Spec from the provided source +func (pool *HcpOpenShiftClustersNodePool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == pool { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(pool) +} + +// ConvertSpecTo populates the provided destination from our HcpOpenShiftClustersNodePool_Spec +func (pool *HcpOpenShiftClustersNodePool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == pool { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(pool) +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersNodePool_STATUS +type HcpOpenShiftClustersNodePool_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Properties *NodePoolProperties_STATUS `json:"properties,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &HcpOpenShiftClustersNodePool_STATUS{} + +// ConvertStatusFrom populates our HcpOpenShiftClustersNodePool_STATUS from the provided source +func (pool *HcpOpenShiftClustersNodePool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == pool { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(pool) +} + +// ConvertStatusTo populates the provided destination from our HcpOpenShiftClustersNodePool_STATUS +func (pool *HcpOpenShiftClustersNodePool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == pool { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(pool) +} + +// Storage version of v1api20240610preview.HcpOpenShiftClustersNodePoolOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type HcpOpenShiftClustersNodePoolOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolProperties +// Represents the node pool properties +type NodePoolProperties struct { + AutoRepair *bool `json:"autoRepair,omitempty"` + AutoScaling *NodePoolAutoScaling `json:"autoScaling,omitempty"` + Labels []Label `json:"labels,omitempty"` + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + Platform *NodePoolPlatformProfile `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Replicas *int `json:"replicas,omitempty"` + Taints []Taint `json:"taints,omitempty"` + Version *NodePoolVersionProfile `json:"version,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolProperties_STATUS +// Represents the node pool properties +type NodePoolProperties_STATUS struct { + AutoRepair *bool `json:"autoRepair,omitempty"` + AutoScaling *NodePoolAutoScaling_STATUS `json:"autoScaling,omitempty"` + Labels []Label_STATUS `json:"labels,omitempty"` + NodeDrainTimeoutMinutes *int `json:"nodeDrainTimeoutMinutes,omitempty"` + Platform *NodePoolPlatformProfile_STATUS `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + Replicas *int `json:"replicas,omitempty"` + Taints []Taint_STATUS `json:"taints,omitempty"` + Version *NodePoolVersionProfile_STATUS `json:"version,omitempty"` +} + +// Storage version of v1api20240610preview.Label +// Label represents the Kubernetes label +type Label struct { + Key *string `json:"key,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240610preview.Label_STATUS +// Label represents the Kubernetes label +type Label_STATUS struct { + Key *string `json:"key,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolAutoScaling +// Node pool autoscaling +type NodePoolAutoScaling struct { + Max *int `json:"max,omitempty"` + Min *int `json:"min,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolAutoScaling_STATUS +// Node pool autoscaling +type NodePoolAutoScaling_STATUS struct { + Max *int `json:"max,omitempty"` + Min *int `json:"min,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolPlatformProfile +// Azure node pool platform configuration +type NodePoolPlatformProfile struct { + AvailabilityZone *string `json:"availabilityZone,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + OsDisk *OsDiskProfile `json:"osDisk,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // SubnetReference: The Azure resource ID of the worker subnet + // Note that a subnet cannot be reused between ARO-HCP Clusters, however the + // same subnet can be used for NodePools of the same cluster. + SubnetReference *genruntime.ResourceReference `armReference:"SubnetId" json:"subnetReference,omitempty"` + VmSize *string `json:"vmSize,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolPlatformProfile_STATUS +// Azure node pool platform configuration +type NodePoolPlatformProfile_STATUS struct { + AvailabilityZone *string `json:"availabilityZone,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + OsDisk *OsDiskProfile_STATUS `json:"osDisk,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` + VmSize *string `json:"vmSize,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolVersionProfile +// Versions represents an OpenShift version. +type NodePoolVersionProfile struct { + ChannelGroup *string `json:"channelGroup,omitempty"` + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.NodePoolVersionProfile_STATUS +// Versions represents an OpenShift version. +type NodePoolVersionProfile_STATUS struct { + ChannelGroup *string `json:"channelGroup,omitempty"` + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240610preview.Taint +// Taint is controlling the node taint and its effects +type Taint struct { + Effect *string `json:"effect,omitempty"` + Key *string `json:"key,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240610preview.Taint_STATUS +// Taint is controlling the node taint and its effects +type Taint_STATUS struct { + Effect *string `json:"effect,omitempty"` + Key *string `json:"key,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240610preview.OsDiskProfile +// The settings and configuration options for OSDisk +type OsDiskProfile struct { + DiskStorageAccountType *string `json:"diskStorageAccountType,omitempty"` + + // EncryptionSetReference: The ID of the DiskEncryptionSet resource to use to encrypt the OS disks for the VMs. + // This needs to exist in the same subscription id listed in the Hosted Cluster, + // HostedCluster.Spec.Platform.Azure.SubscriptionID. + // DiskEncryptionSetID should also exist in a resource group under the same subscription id and the same location + // listed in the Hosted Cluster, HostedCluster.Spec.Platform.Azure.Location. + // Details on how to create a Disk Encryption Set can be found here: + // https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-customer-managed-keys-portal#set-up-your-disk-encryption-set + EncryptionSetReference *genruntime.ResourceReference `armReference:"EncryptionSetId" json:"encryptionSetReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +// Storage version of v1api20240610preview.OsDiskProfile_STATUS +// The settings and configuration options for OSDisk +type OsDiskProfile_STATUS struct { + DiskStorageAccountType *string `json:"diskStorageAccountType,omitempty"` + EncryptionSetId *string `json:"encryptionSetId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SizeGiB *int `json:"sizeGiB,omitempty"` +} + +func init() { + SchemeBuilder.Register(&HcpOpenShiftClustersNodePool{}, &HcpOpenShiftClustersNodePoolList{}) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen_test.go b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen_test.go new file mode 100644 index 00000000000..69d1a8f9948 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/hcp_open_shift_clusters_node_pool_types_gen_test.go @@ -0,0 +1,1235 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_HcpOpenShiftClustersNodePool_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool, HcpOpenShiftClustersNodePoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool runs a test to see if a specific instance of HcpOpenShiftClustersNodePool round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool(subject HcpOpenShiftClustersNodePool) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePoolGenerator() +var hcpOpenShiftClustersNodePoolGenerator gopter.Gen + +// HcpOpenShiftClustersNodePoolGenerator returns a generator of HcpOpenShiftClustersNodePool instances for property testing. +func HcpOpenShiftClustersNodePoolGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePoolGenerator != nil { + return hcpOpenShiftClustersNodePoolGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool(generators) + hcpOpenShiftClustersNodePoolGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool{}), generators) + + return hcpOpenShiftClustersNodePoolGenerator +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool(gens map[string]gopter.Gen) { + gens["Spec"] = HcpOpenShiftClustersNodePool_SpecGenerator() + gens["Status"] = HcpOpenShiftClustersNodePool_STATUSGenerator() +} + +func Test_HcpOpenShiftClustersNodePoolOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePoolOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec, HcpOpenShiftClustersNodePoolOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec runs a test to see if a specific instance of HcpOpenShiftClustersNodePoolOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePoolOperatorSpec(subject HcpOpenShiftClustersNodePoolOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePoolOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePoolOperatorSpec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePoolOperatorSpecGenerator() +var hcpOpenShiftClustersNodePoolOperatorSpecGenerator gopter.Gen + +// HcpOpenShiftClustersNodePoolOperatorSpecGenerator returns a generator of HcpOpenShiftClustersNodePoolOperatorSpec instances for property testing. +func HcpOpenShiftClustersNodePoolOperatorSpecGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePoolOperatorSpecGenerator != nil { + return hcpOpenShiftClustersNodePoolOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + hcpOpenShiftClustersNodePoolOperatorSpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePoolOperatorSpec{}), generators) + + return hcpOpenShiftClustersNodePoolOperatorSpecGenerator +} + +func Test_HcpOpenShiftClustersNodePool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS, HcpOpenShiftClustersNodePool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_STATUS(subject HcpOpenShiftClustersNodePool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_STATUSGenerator() +var hcpOpenShiftClustersNodePool_STATUSGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_STATUSGenerator returns a generator of HcpOpenShiftClustersNodePool_STATUS instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_STATUSGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_STATUSGenerator != nil { + return hcpOpenShiftClustersNodePool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(generators) + hcpOpenShiftClustersNodePool_STATUSGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_STATUS{}), generators) + + return hcpOpenShiftClustersNodePool_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_HcpOpenShiftClustersNodePool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HcpOpenShiftClustersNodePool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec, HcpOpenShiftClustersNodePool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec runs a test to see if a specific instance of HcpOpenShiftClustersNodePool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForHcpOpenShiftClustersNodePool_Spec(subject HcpOpenShiftClustersNodePool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HcpOpenShiftClustersNodePool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HcpOpenShiftClustersNodePool_Spec instances for property testing - lazily instantiated by +// HcpOpenShiftClustersNodePool_SpecGenerator() +var hcpOpenShiftClustersNodePool_SpecGenerator gopter.Gen + +// HcpOpenShiftClustersNodePool_SpecGenerator returns a generator of HcpOpenShiftClustersNodePool_Spec instances for property testing. +// We first initialize hcpOpenShiftClustersNodePool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func HcpOpenShiftClustersNodePool_SpecGenerator() gopter.Gen { + if hcpOpenShiftClustersNodePool_SpecGenerator != nil { + return hcpOpenShiftClustersNodePool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(generators) + hcpOpenShiftClustersNodePool_SpecGenerator = gen.Struct(reflect.TypeOf(HcpOpenShiftClustersNodePool_Spec{}), generators) + + return hcpOpenShiftClustersNodePool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHcpOpenShiftClustersNodePool_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(HcpOpenShiftClustersNodePoolOperatorSpecGenerator()) + gens["Properties"] = gen.PtrOf(NodePoolPropertiesGenerator()) +} + +func Test_Label_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel, LabelGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel runs a test to see if a specific instance of Label round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel(subject Label) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label instances for property testing - lazily instantiated by LabelGenerator() +var labelGenerator gopter.Gen + +// LabelGenerator returns a generator of Label instances for property testing. +func LabelGenerator() gopter.Gen { + if labelGenerator != nil { + return labelGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel(generators) + labelGenerator = gen.Struct(reflect.TypeOf(Label{}), generators) + + return labelGenerator +} + +// AddIndependentPropertyGeneratorsForLabel is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Label_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Label_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLabel_STATUS, Label_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLabel_STATUS runs a test to see if a specific instance of Label_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLabel_STATUS(subject Label_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Label_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Label_STATUS instances for property testing - lazily instantiated by Label_STATUSGenerator() +var label_STATUSGenerator gopter.Gen + +// Label_STATUSGenerator returns a generator of Label_STATUS instances for property testing. +func Label_STATUSGenerator() gopter.Gen { + if label_STATUSGenerator != nil { + return label_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLabel_STATUS(generators) + label_STATUSGenerator = gen.Struct(reflect.TypeOf(Label_STATUS{}), generators) + + return label_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLabel_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLabel_STATUS(gens map[string]gopter.Gen) { + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolAutoScaling_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling, NodePoolAutoScalingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling runs a test to see if a specific instance of NodePoolAutoScaling round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling(subject NodePoolAutoScaling) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling instances for property testing - lazily instantiated by +// NodePoolAutoScalingGenerator() +var nodePoolAutoScalingGenerator gopter.Gen + +// NodePoolAutoScalingGenerator returns a generator of NodePoolAutoScaling instances for property testing. +func NodePoolAutoScalingGenerator() gopter.Gen { + if nodePoolAutoScalingGenerator != nil { + return nodePoolAutoScalingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling(generators) + nodePoolAutoScalingGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling{}), generators) + + return nodePoolAutoScalingGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolAutoScaling_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolAutoScaling_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolAutoScaling_STATUS, NodePoolAutoScaling_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolAutoScaling_STATUS runs a test to see if a specific instance of NodePoolAutoScaling_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolAutoScaling_STATUS(subject NodePoolAutoScaling_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolAutoScaling_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolAutoScaling_STATUS instances for property testing - lazily instantiated by +// NodePoolAutoScaling_STATUSGenerator() +var nodePoolAutoScaling_STATUSGenerator gopter.Gen + +// NodePoolAutoScaling_STATUSGenerator returns a generator of NodePoolAutoScaling_STATUS instances for property testing. +func NodePoolAutoScaling_STATUSGenerator() gopter.Gen { + if nodePoolAutoScaling_STATUSGenerator != nil { + return nodePoolAutoScaling_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(generators) + nodePoolAutoScaling_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolAutoScaling_STATUS{}), generators) + + return nodePoolAutoScaling_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolAutoScaling_STATUS(gens map[string]gopter.Gen) { + gens["Max"] = gen.PtrOf(gen.Int()) + gens["Min"] = gen.PtrOf(gen.Int()) +} + +func Test_NodePoolPlatformProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile, NodePoolPlatformProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile runs a test to see if a specific instance of NodePoolPlatformProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile(subject NodePoolPlatformProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile instances for property testing - lazily instantiated by +// NodePoolPlatformProfileGenerator() +var nodePoolPlatformProfileGenerator gopter.Gen + +// NodePoolPlatformProfileGenerator returns a generator of NodePoolPlatformProfile instances for property testing. +// We first initialize nodePoolPlatformProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfileGenerator() gopter.Gen { + if nodePoolPlatformProfileGenerator != nil { + return nodePoolPlatformProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(generators) + nodePoolPlatformProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile{}), generators) + + return nodePoolPlatformProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfileGenerator()) +} + +func Test_NodePoolPlatformProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolPlatformProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolPlatformProfile_STATUS, NodePoolPlatformProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolPlatformProfile_STATUS runs a test to see if a specific instance of NodePoolPlatformProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolPlatformProfile_STATUS(subject NodePoolPlatformProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolPlatformProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolPlatformProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolPlatformProfile_STATUSGenerator() +var nodePoolPlatformProfile_STATUSGenerator gopter.Gen + +// NodePoolPlatformProfile_STATUSGenerator returns a generator of NodePoolPlatformProfile_STATUS instances for property testing. +// We first initialize nodePoolPlatformProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPlatformProfile_STATUSGenerator() gopter.Gen { + if nodePoolPlatformProfile_STATUSGenerator != nil { + return nodePoolPlatformProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(generators) + nodePoolPlatformProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolPlatformProfile_STATUS{}), generators) + + return nodePoolPlatformProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["SubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolPlatformProfile_STATUS(gens map[string]gopter.Gen) { + gens["OsDisk"] = gen.PtrOf(OsDiskProfile_STATUSGenerator()) +} + +func Test_NodePoolProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties, NodePoolPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties runs a test to see if a specific instance of NodePoolProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties(subject NodePoolProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties instances for property testing - lazily instantiated by NodePoolPropertiesGenerator() +var nodePoolPropertiesGenerator gopter.Gen + +// NodePoolPropertiesGenerator returns a generator of NodePoolProperties instances for property testing. +// We first initialize nodePoolPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolPropertiesGenerator() gopter.Gen { + if nodePoolPropertiesGenerator != nil { + return nodePoolPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties(generators) + nodePoolPropertiesGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties{}), generators) + + return nodePoolPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScalingGenerator()) + gens["Labels"] = gen.SliceOf(LabelGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfileGenerator()) + gens["Taints"] = gen.SliceOf(TaintGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfileGenerator()) +} + +func Test_NodePoolProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolProperties_STATUS, NodePoolProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolProperties_STATUS runs a test to see if a specific instance of NodePoolProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolProperties_STATUS(subject NodePoolProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolProperties_STATUS instances for property testing - lazily instantiated by +// NodePoolProperties_STATUSGenerator() +var nodePoolProperties_STATUSGenerator gopter.Gen + +// NodePoolProperties_STATUSGenerator returns a generator of NodePoolProperties_STATUS instances for property testing. +// We first initialize nodePoolProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func NodePoolProperties_STATUSGenerator() gopter.Gen { + if nodePoolProperties_STATUSGenerator != nil { + return nodePoolProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(generators) + nodePoolProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolProperties_STATUS{}), generators) + + return nodePoolProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoRepair"] = gen.PtrOf(gen.Bool()) + gens["NodeDrainTimeoutMinutes"] = gen.PtrOf(gen.Int()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["Replicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForNodePoolProperties_STATUS(gens map[string]gopter.Gen) { + gens["AutoScaling"] = gen.PtrOf(NodePoolAutoScaling_STATUSGenerator()) + gens["Labels"] = gen.SliceOf(Label_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(NodePoolPlatformProfile_STATUSGenerator()) + gens["Taints"] = gen.SliceOf(Taint_STATUSGenerator()) + gens["Version"] = gen.PtrOf(NodePoolVersionProfile_STATUSGenerator()) +} + +func Test_NodePoolVersionProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile, NodePoolVersionProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile runs a test to see if a specific instance of NodePoolVersionProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile(subject NodePoolVersionProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile instances for property testing - lazily instantiated by +// NodePoolVersionProfileGenerator() +var nodePoolVersionProfileGenerator gopter.Gen + +// NodePoolVersionProfileGenerator returns a generator of NodePoolVersionProfile instances for property testing. +func NodePoolVersionProfileGenerator() gopter.Gen { + if nodePoolVersionProfileGenerator != nil { + return nodePoolVersionProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile(generators) + nodePoolVersionProfileGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile{}), generators) + + return nodePoolVersionProfileGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_NodePoolVersionProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of NodePoolVersionProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNodePoolVersionProfile_STATUS, NodePoolVersionProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNodePoolVersionProfile_STATUS runs a test to see if a specific instance of NodePoolVersionProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNodePoolVersionProfile_STATUS(subject NodePoolVersionProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual NodePoolVersionProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of NodePoolVersionProfile_STATUS instances for property testing - lazily instantiated by +// NodePoolVersionProfile_STATUSGenerator() +var nodePoolVersionProfile_STATUSGenerator gopter.Gen + +// NodePoolVersionProfile_STATUSGenerator returns a generator of NodePoolVersionProfile_STATUS instances for property testing. +func NodePoolVersionProfile_STATUSGenerator() gopter.Gen { + if nodePoolVersionProfile_STATUSGenerator != nil { + return nodePoolVersionProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(generators) + nodePoolVersionProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(NodePoolVersionProfile_STATUS{}), generators) + + return nodePoolVersionProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNodePoolVersionProfile_STATUS(gens map[string]gopter.Gen) { + gens["ChannelGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OsDiskProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile, OsDiskProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile runs a test to see if a specific instance of OsDiskProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile(subject OsDiskProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile instances for property testing - lazily instantiated by OsDiskProfileGenerator() +var osDiskProfileGenerator gopter.Gen + +// OsDiskProfileGenerator returns a generator of OsDiskProfile instances for property testing. +func OsDiskProfileGenerator() gopter.Gen { + if osDiskProfileGenerator != nil { + return osDiskProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile(generators) + osDiskProfileGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile{}), generators) + + return osDiskProfileGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.AlphaString()) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_OsDiskProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of OsDiskProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOsDiskProfile_STATUS, OsDiskProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOsDiskProfile_STATUS runs a test to see if a specific instance of OsDiskProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOsDiskProfile_STATUS(subject OsDiskProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OsDiskProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of OsDiskProfile_STATUS instances for property testing - lazily instantiated by +// OsDiskProfile_STATUSGenerator() +var osDiskProfile_STATUSGenerator gopter.Gen + +// OsDiskProfile_STATUSGenerator returns a generator of OsDiskProfile_STATUS instances for property testing. +func OsDiskProfile_STATUSGenerator() gopter.Gen { + if osDiskProfile_STATUSGenerator != nil { + return osDiskProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(generators) + osDiskProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(OsDiskProfile_STATUS{}), generators) + + return osDiskProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOsDiskProfile_STATUS(gens map[string]gopter.Gen) { + gens["DiskStorageAccountType"] = gen.PtrOf(gen.AlphaString()) + gens["EncryptionSetId"] = gen.PtrOf(gen.AlphaString()) + gens["SizeGiB"] = gen.PtrOf(gen.Int()) +} + +func Test_Taint_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint, TaintGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint runs a test to see if a specific instance of Taint round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint(subject Taint) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint instances for property testing - lazily instantiated by TaintGenerator() +var taintGenerator gopter.Gen + +// TaintGenerator returns a generator of Taint instances for property testing. +func TaintGenerator() gopter.Gen { + if taintGenerator != nil { + return taintGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint(generators) + taintGenerator = gen.Struct(reflect.TypeOf(Taint{}), generators) + + return taintGenerator +} + +// AddIndependentPropertyGeneratorsForTaint is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.AlphaString()) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Taint_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Taint_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTaint_STATUS, Taint_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTaint_STATUS runs a test to see if a specific instance of Taint_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTaint_STATUS(subject Taint_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Taint_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Taint_STATUS instances for property testing - lazily instantiated by Taint_STATUSGenerator() +var taint_STATUSGenerator gopter.Gen + +// Taint_STATUSGenerator returns a generator of Taint_STATUS instances for property testing. +func Taint_STATUSGenerator() gopter.Gen { + if taint_STATUSGenerator != nil { + return taint_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTaint_STATUS(generators) + taint_STATUSGenerator = gen.Struct(reflect.TypeOf(Taint_STATUS{}), generators) + + return taint_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTaint_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTaint_STATUS(gens map[string]gopter.Gen) { + gens["Effect"] = gen.PtrOf(gen.AlphaString()) + gens["Key"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/structure.txt b/v2/api/redhatopenshift/v1api20240610preview/storage/structure.txt new file mode 100644 index 00000000000..78f775af1c8 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/structure.txt @@ -0,0 +1,403 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage +------------------------------------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2024-06-10-preview" + +HcpOpenShiftCluster: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (9 properties) +│ ├── AzureName: string +│ ├── Identity: *Object (3 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (4 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── SecretExpressions: *core.DestinationExpression[] +│ │ └── Secrets: *Object (2 properties) +│ │ ├── AdminCredentials: *genruntime.SecretDestination +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Properties: *Object (10 properties) +│ │ ├── Api: *Object (3 properties) +│ │ │ ├── AuthorizedCidrs: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Visibility: *string +│ │ ├── Autoscaling: *Object (5 properties) +│ │ │ ├── MaxNodeProvisionTimeSeconds: *int +│ │ │ ├── MaxNodesTotal: *int +│ │ │ ├── MaxPodGracePeriodSeconds: *int +│ │ │ ├── PodPriorityThreshold: *int +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── ClusterImageRegistry: *Object (2 properties) +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── State: *string +│ │ ├── Dns: *Object (2 properties) +│ │ │ ├── BaseDomainPrefix: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Etcd: *Object (2 properties) +│ │ │ ├── DataEncryption: *Object (3 properties) +│ │ │ │ ├── CustomerManaged: *Object (3 properties) +│ │ │ │ │ ├── EncryptionType: *string +│ │ │ │ │ ├── Kms: *Object (2 properties) +│ │ │ │ │ │ ├── ActiveKey: *Object (4 properties) +│ │ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ │ │ ├── VaultName: *string +│ │ │ │ │ │ │ └── Version: *string +│ │ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── KeyManagementMode: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Network: *Object (6 properties) +│ │ │ ├── HostPrefix: *int +│ │ │ ├── MachineCidr: *string +│ │ │ ├── NetworkType: *string +│ │ │ ├── PodCidr: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ServiceCidr: *string +│ │ ├── NodeDrainTimeoutMinutes: *int +│ │ ├── Platform: *Object (6 properties) +│ │ │ ├── ManagedResourceGroup: *string +│ │ │ ├── NetworkSecurityGroupReference: *genruntime.ResourceReference +│ │ │ ├── OperatorsAuthentication: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── UserAssignedIdentities: *Object (4 properties) +│ │ │ │ ├── ControlPlaneOperatorsReferences: map[string]genruntime.ResourceReference +│ │ │ │ ├── DataPlaneOperatorsReferences: map[string]genruntime.ResourceReference +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── ServiceManagedIdentityReference: *genruntime.ResourceReference +│ │ │ ├── OutboundType: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SubnetReference: *genruntime.ResourceReference +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Version: *Object (3 properties) +│ │ ├── ChannelGroup: *string +│ │ ├── Id: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ └── Tags: map[string]string +└── Status: Object (10 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Identity: *Object (5 properties) + │ ├── PrincipalId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── TenantId: *string + │ ├── Type: *string + │ └── UserAssignedIdentities: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── PrincipalId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Location: *string + ├── Name: *string + ├── Properties: *Object (12 properties) + │ ├── Api: *Object (4 properties) + │ │ ├── AuthorizedCidrs: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Url: *string + │ │ └── Visibility: *string + │ ├── Autoscaling: *Object (5 properties) + │ │ ├── MaxNodeProvisionTimeSeconds: *int + │ │ ├── MaxNodesTotal: *int + │ │ ├── MaxPodGracePeriodSeconds: *int + │ │ ├── PodPriorityThreshold: *int + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── ClusterImageRegistry: *Object (2 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── State: *string + │ ├── Console: *Object (2 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Url: *string + │ ├── Dns: *Object (3 properties) + │ │ ├── BaseDomain: *string + │ │ ├── BaseDomainPrefix: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Etcd: *Object (2 properties) + │ │ ├── DataEncryption: *Object (3 properties) + │ │ │ ├── CustomerManaged: *Object (3 properties) + │ │ │ │ ├── EncryptionType: *string + │ │ │ │ ├── Kms: *Object (2 properties) + │ │ │ │ │ ├── ActiveKey: *Object (4 properties) + │ │ │ │ │ │ ├── Name: *string + │ │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ │ │ ├── VaultName: *string + │ │ │ │ │ │ └── Version: *string + │ │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ ├── KeyManagementMode: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Network: *Object (6 properties) + │ │ ├── HostPrefix: *int + │ │ ├── MachineCidr: *string + │ │ ├── NetworkType: *string + │ │ ├── PodCidr: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ServiceCidr: *string + │ ├── NodeDrainTimeoutMinutes: *int + │ ├── Platform: *Object (7 properties) + │ │ ├── IssuerUrl: *string + │ │ ├── ManagedResourceGroup: *string + │ │ ├── NetworkSecurityGroupId: *string + │ │ ├── OperatorsAuthentication: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── UserAssignedIdentities: *Object (4 properties) + │ │ │ ├── ControlPlaneOperators: map[string]string + │ │ │ ├── DataPlaneOperators: map[string]string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── ServiceManagedIdentity: *string + │ │ ├── OutboundType: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SubnetId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ProvisioningState: *string + │ └── Version: *Object (3 properties) + │ ├── ChannelGroup: *string + │ ├── Id: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── PropertyBag: genruntime.PropertyBag + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Tags: map[string]string + └── Type: *string + +HcpOpenShiftClustersExternalAuth: Resource +├── Owner: redhatopenshift/v1api20240610preview.HcpOpenShiftCluster +├── Spec: Object (6 properties) +│ ├── AzureName: string +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Properties: *Object (4 properties) +│ │ ├── Claim: *Object (3 properties) +│ │ │ ├── Mappings: *Object (3 properties) +│ │ │ │ ├── Groups: *Object (3 properties) +│ │ │ │ │ ├── Claim: *string +│ │ │ │ │ ├── Prefix: *string +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Username: *Object (4 properties) +│ │ │ │ ├── Claim: *string +│ │ │ │ ├── Prefix: *string +│ │ │ │ ├── PrefixPolicy: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ValidationRules: Object (3 properties)[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── RequiredClaim: *Object (3 properties) +│ │ │ │ ├── Claim: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── RequiredValue: *string +│ │ │ └── Type: *string +│ │ ├── Clients: Object (5 properties)[] +│ │ │ ├── ClientId: *string +│ │ │ ├── Component: *Object (3 properties) +│ │ │ │ ├── AuthClientNamespace: *string +│ │ │ │ ├── Name: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── ExtraScopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Type: *string +│ │ ├── Issuer: *Object (4 properties) +│ │ │ ├── Audiences: string[] +│ │ │ ├── Ca: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Url: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ └── PropertyBag: genruntime.PropertyBag +└── Status: Object (7 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Name: *string + ├── Properties: *Object (6 properties) + │ ├── Claim: *Object (3 properties) + │ │ ├── Mappings: *Object (3 properties) + │ │ │ ├── Groups: *Object (3 properties) + │ │ │ │ ├── Claim: *string + │ │ │ │ ├── Prefix: *string + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Username: *Object (4 properties) + │ │ │ ├── Claim: *string + │ │ │ ├── Prefix: *string + │ │ │ ├── PrefixPolicy: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ValidationRules: Object (3 properties)[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── RequiredClaim: *Object (3 properties) + │ │ │ ├── Claim: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── RequiredValue: *string + │ │ └── Type: *string + │ ├── Clients: Object (5 properties)[] + │ │ ├── ClientId: *string + │ │ ├── Component: *Object (3 properties) + │ │ │ ├── AuthClientNamespace: *string + │ │ │ ├── Name: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── ExtraScopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Type: *string + │ ├── Condition: *Object (6 properties) + │ │ ├── LastTransitionTime: *string + │ │ ├── Message: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Reason: *string + │ │ ├── Status: *string + │ │ └── Type: *string + │ ├── Issuer: *Object (4 properties) + │ │ ├── Audiences: string[] + │ │ ├── Ca: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Url: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── ProvisioningState: *string + ├── PropertyBag: genruntime.PropertyBag + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + └── Type: *string + +HcpOpenShiftClustersNodePool: Resource +├── Owner: redhatopenshift/v1api20240610preview.HcpOpenShiftCluster +├── Spec: Object (9 properties) +│ ├── AzureName: string +│ ├── Identity: *Object (3 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Properties: *Object (9 properties) +│ │ ├── AutoRepair: *bool +│ │ ├── AutoScaling: *Object (3 properties) +│ │ │ ├── Max: *int +│ │ │ ├── Min: *int +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Labels: Object (3 properties)[] +│ │ │ ├── Key: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Value: *string +│ │ ├── NodeDrainTimeoutMinutes: *int +│ │ ├── Platform: *Object (6 properties) +│ │ │ ├── AvailabilityZone: *string +│ │ │ ├── EnableEncryptionAtHost: *bool +│ │ │ ├── OsDisk: *Object (4 properties) +│ │ │ │ ├── DiskStorageAccountType: *string +│ │ │ │ ├── EncryptionSetReference: *genruntime.ResourceReference +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── SizeGiB: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SubnetReference: *genruntime.ResourceReference +│ │ │ └── VmSize: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Replicas: *int +│ │ ├── Taints: Object (4 properties)[] +│ │ │ ├── Effect: *string +│ │ │ ├── Key: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Value: *string +│ │ └── Version: *Object (3 properties) +│ │ ├── ChannelGroup: *string +│ │ ├── Id: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ └── Tags: map[string]string +└── Status: Object (10 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Identity: *Object (5 properties) + │ ├── PrincipalId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── TenantId: *string + │ ├── Type: *string + │ └── UserAssignedIdentities: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── PrincipalId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Location: *string + ├── Name: *string + ├── Properties: *Object (10 properties) + │ ├── AutoRepair: *bool + │ ├── AutoScaling: *Object (3 properties) + │ │ ├── Max: *int + │ │ ├── Min: *int + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Labels: Object (3 properties)[] + │ │ ├── Key: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Value: *string + │ ├── NodeDrainTimeoutMinutes: *int + │ ├── Platform: *Object (6 properties) + │ │ ├── AvailabilityZone: *string + │ │ ├── EnableEncryptionAtHost: *bool + │ │ ├── OsDisk: *Object (4 properties) + │ │ │ ├── DiskStorageAccountType: *string + │ │ │ ├── EncryptionSetId: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── SizeGiB: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SubnetId: *string + │ │ └── VmSize: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ProvisioningState: *string + │ ├── Replicas: *int + │ ├── Taints: Object (4 properties)[] + │ │ ├── Effect: *string + │ │ ├── Key: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Value: *string + │ └── Version: *Object (3 properties) + │ ├── ChannelGroup: *string + │ ├── Id: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── PropertyBag: genruntime.PropertyBag + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Tags: map[string]string + └── Type: *string + +augmentConversionForConsoleProfile_STATUS: Interface + +augmentConversionForNetworkProfile: Interface + +augmentConversionForNetworkProfile_STATUS: Interface + +augmentConversionForSystemData_STATUS: Interface + diff --git a/v2/api/redhatopenshift/v1api20240610preview/storage/zz_generated.deepcopy.go b/v2/api/redhatopenshift/v1api20240610preview/storage/zz_generated.deepcopy.go new file mode 100644 index 00000000000..13de73c5c21 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/storage/zz_generated.deepcopy.go @@ -0,0 +1,3350 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApiProfile) DeepCopyInto(out *ApiProfile) { + *out = *in + if in.AuthorizedCidrs != nil { + in, out := &in.AuthorizedCidrs, &out.AuthorizedCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Visibility != nil { + in, out := &in.Visibility, &out.Visibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiProfile. +func (in *ApiProfile) DeepCopy() *ApiProfile { + if in == nil { + return nil + } + out := new(ApiProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApiProfile_STATUS) DeepCopyInto(out *ApiProfile_STATUS) { + *out = *in + if in.AuthorizedCidrs != nil { + in, out := &in.AuthorizedCidrs, &out.AuthorizedCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } + if in.Visibility != nil { + in, out := &in.Visibility, &out.Visibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiProfile_STATUS. +func (in *ApiProfile_STATUS) DeepCopy() *ApiProfile_STATUS { + if in == nil { + return nil + } + out := new(ApiProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAutoscalingProfile) DeepCopyInto(out *ClusterAutoscalingProfile) { + *out = *in + if in.MaxNodeProvisionTimeSeconds != nil { + in, out := &in.MaxNodeProvisionTimeSeconds, &out.MaxNodeProvisionTimeSeconds + *out = new(int) + **out = **in + } + if in.MaxNodesTotal != nil { + in, out := &in.MaxNodesTotal, &out.MaxNodesTotal + *out = new(int) + **out = **in + } + if in.MaxPodGracePeriodSeconds != nil { + in, out := &in.MaxPodGracePeriodSeconds, &out.MaxPodGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.PodPriorityThreshold != nil { + in, out := &in.PodPriorityThreshold, &out.PodPriorityThreshold + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalingProfile. +func (in *ClusterAutoscalingProfile) DeepCopy() *ClusterAutoscalingProfile { + if in == nil { + return nil + } + out := new(ClusterAutoscalingProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAutoscalingProfile_STATUS) DeepCopyInto(out *ClusterAutoscalingProfile_STATUS) { + *out = *in + if in.MaxNodeProvisionTimeSeconds != nil { + in, out := &in.MaxNodeProvisionTimeSeconds, &out.MaxNodeProvisionTimeSeconds + *out = new(int) + **out = **in + } + if in.MaxNodesTotal != nil { + in, out := &in.MaxNodesTotal, &out.MaxNodesTotal + *out = new(int) + **out = **in + } + if in.MaxPodGracePeriodSeconds != nil { + in, out := &in.MaxPodGracePeriodSeconds, &out.MaxPodGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.PodPriorityThreshold != nil { + in, out := &in.PodPriorityThreshold, &out.PodPriorityThreshold + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalingProfile_STATUS. +func (in *ClusterAutoscalingProfile_STATUS) DeepCopy() *ClusterAutoscalingProfile_STATUS { + if in == nil { + return nil + } + out := new(ClusterAutoscalingProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterImageRegistryProfile) DeepCopyInto(out *ClusterImageRegistryProfile) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageRegistryProfile. +func (in *ClusterImageRegistryProfile) DeepCopy() *ClusterImageRegistryProfile { + if in == nil { + return nil + } + out := new(ClusterImageRegistryProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterImageRegistryProfile_STATUS) DeepCopyInto(out *ClusterImageRegistryProfile_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageRegistryProfile_STATUS. +func (in *ClusterImageRegistryProfile_STATUS) DeepCopy() *ClusterImageRegistryProfile_STATUS { + if in == nil { + return nil + } + out := new(ClusterImageRegistryProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsoleProfile_STATUS) DeepCopyInto(out *ConsoleProfile_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleProfile_STATUS. +func (in *ConsoleProfile_STATUS) DeepCopy() *ConsoleProfile_STATUS { + if in == nil { + return nil + } + out := new(ConsoleProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionProfile) DeepCopyInto(out *CustomerManagedEncryptionProfile) { + *out = *in + if in.EncryptionType != nil { + in, out := &in.EncryptionType, &out.EncryptionType + *out = new(string) + **out = **in + } + if in.Kms != nil { + in, out := &in.Kms, &out.Kms + *out = new(KmsEncryptionProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionProfile. +func (in *CustomerManagedEncryptionProfile) DeepCopy() *CustomerManagedEncryptionProfile { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionProfile_STATUS) DeepCopyInto(out *CustomerManagedEncryptionProfile_STATUS) { + *out = *in + if in.EncryptionType != nil { + in, out := &in.EncryptionType, &out.EncryptionType + *out = new(string) + **out = **in + } + if in.Kms != nil { + in, out := &in.Kms, &out.Kms + *out = new(KmsEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionProfile_STATUS. +func (in *CustomerManagedEncryptionProfile_STATUS) DeepCopy() *CustomerManagedEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DnsProfile) DeepCopyInto(out *DnsProfile) { + *out = *in + if in.BaseDomainPrefix != nil { + in, out := &in.BaseDomainPrefix, &out.BaseDomainPrefix + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsProfile. +func (in *DnsProfile) DeepCopy() *DnsProfile { + if in == nil { + return nil + } + out := new(DnsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DnsProfile_STATUS) DeepCopyInto(out *DnsProfile_STATUS) { + *out = *in + if in.BaseDomain != nil { + in, out := &in.BaseDomain, &out.BaseDomain + *out = new(string) + **out = **in + } + if in.BaseDomainPrefix != nil { + in, out := &in.BaseDomainPrefix, &out.BaseDomainPrefix + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsProfile_STATUS. +func (in *DnsProfile_STATUS) DeepCopy() *DnsProfile_STATUS { + if in == nil { + return nil + } + out := new(DnsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdDataEncryptionProfile) DeepCopyInto(out *EtcdDataEncryptionProfile) { + *out = *in + if in.CustomerManaged != nil { + in, out := &in.CustomerManaged, &out.CustomerManaged + *out = new(CustomerManagedEncryptionProfile) + (*in).DeepCopyInto(*out) + } + if in.KeyManagementMode != nil { + in, out := &in.KeyManagementMode, &out.KeyManagementMode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdDataEncryptionProfile. +func (in *EtcdDataEncryptionProfile) DeepCopy() *EtcdDataEncryptionProfile { + if in == nil { + return nil + } + out := new(EtcdDataEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdDataEncryptionProfile_STATUS) DeepCopyInto(out *EtcdDataEncryptionProfile_STATUS) { + *out = *in + if in.CustomerManaged != nil { + in, out := &in.CustomerManaged, &out.CustomerManaged + *out = new(CustomerManagedEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KeyManagementMode != nil { + in, out := &in.KeyManagementMode, &out.KeyManagementMode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdDataEncryptionProfile_STATUS. +func (in *EtcdDataEncryptionProfile_STATUS) DeepCopy() *EtcdDataEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(EtcdDataEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdProfile) DeepCopyInto(out *EtcdProfile) { + *out = *in + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(EtcdDataEncryptionProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdProfile. +func (in *EtcdProfile) DeepCopy() *EtcdProfile { + if in == nil { + return nil + } + out := new(EtcdProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdProfile_STATUS) DeepCopyInto(out *EtcdProfile_STATUS) { + *out = *in + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(EtcdDataEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdProfile_STATUS. +func (in *EtcdProfile_STATUS) DeepCopy() *EtcdProfile_STATUS { + if in == nil { + return nil + } + out := new(EtcdProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClaimProfile) DeepCopyInto(out *ExternalAuthClaimProfile) { + *out = *in + if in.Mappings != nil { + in, out := &in.Mappings, &out.Mappings + *out = new(TokenClaimMappingsProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ValidationRules != nil { + in, out := &in.ValidationRules, &out.ValidationRules + *out = make([]TokenClaimValidationRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClaimProfile. +func (in *ExternalAuthClaimProfile) DeepCopy() *ExternalAuthClaimProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClaimProfile_STATUS) DeepCopyInto(out *ExternalAuthClaimProfile_STATUS) { + *out = *in + if in.Mappings != nil { + in, out := &in.Mappings, &out.Mappings + *out = new(TokenClaimMappingsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ValidationRules != nil { + in, out := &in.ValidationRules, &out.ValidationRules + *out = make([]TokenClaimValidationRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClaimProfile_STATUS. +func (in *ExternalAuthClaimProfile_STATUS) DeepCopy() *ExternalAuthClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientComponentProfile) DeepCopyInto(out *ExternalAuthClientComponentProfile) { + *out = *in + if in.AuthClientNamespace != nil { + in, out := &in.AuthClientNamespace, &out.AuthClientNamespace + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientComponentProfile. +func (in *ExternalAuthClientComponentProfile) DeepCopy() *ExternalAuthClientComponentProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClientComponentProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientComponentProfile_STATUS) DeepCopyInto(out *ExternalAuthClientComponentProfile_STATUS) { + *out = *in + if in.AuthClientNamespace != nil { + in, out := &in.AuthClientNamespace, &out.AuthClientNamespace + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientComponentProfile_STATUS. +func (in *ExternalAuthClientComponentProfile_STATUS) DeepCopy() *ExternalAuthClientComponentProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClientComponentProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientProfile) DeepCopyInto(out *ExternalAuthClientProfile) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.Component != nil { + in, out := &in.Component, &out.Component + *out = new(ExternalAuthClientComponentProfile) + (*in).DeepCopyInto(*out) + } + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientProfile. +func (in *ExternalAuthClientProfile) DeepCopy() *ExternalAuthClientProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClientProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientProfile_STATUS) DeepCopyInto(out *ExternalAuthClientProfile_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.Component != nil { + in, out := &in.Component, &out.Component + *out = new(ExternalAuthClientComponentProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientProfile_STATUS. +func (in *ExternalAuthClientProfile_STATUS) DeepCopy() *ExternalAuthClientProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClientProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthCondition_STATUS) DeepCopyInto(out *ExternalAuthCondition_STATUS) { + *out = *in + if in.LastTransitionTime != nil { + in, out := &in.LastTransitionTime, &out.LastTransitionTime + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthCondition_STATUS. +func (in *ExternalAuthCondition_STATUS) DeepCopy() *ExternalAuthCondition_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthCondition_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthProperties) DeepCopyInto(out *ExternalAuthProperties) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(ExternalAuthClaimProfile) + (*in).DeepCopyInto(*out) + } + if in.Clients != nil { + in, out := &in.Clients, &out.Clients + *out = make([]ExternalAuthClientProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(TokenIssuerProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthProperties. +func (in *ExternalAuthProperties) DeepCopy() *ExternalAuthProperties { + if in == nil { + return nil + } + out := new(ExternalAuthProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthProperties_STATUS) DeepCopyInto(out *ExternalAuthProperties_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(ExternalAuthClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Clients != nil { + in, out := &in.Clients, &out.Clients + *out = make([]ExternalAuthClientProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = new(ExternalAuthCondition_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(TokenIssuerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthProperties_STATUS. +func (in *ExternalAuthProperties_STATUS) DeepCopy() *ExternalAuthProperties_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupClaimProfile) DeepCopyInto(out *GroupClaimProfile) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupClaimProfile. +func (in *GroupClaimProfile) DeepCopy() *GroupClaimProfile { + if in == nil { + return nil + } + out := new(GroupClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupClaimProfile_STATUS) DeepCopyInto(out *GroupClaimProfile_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupClaimProfile_STATUS. +func (in *GroupClaimProfile_STATUS) DeepCopy() *GroupClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(GroupClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster) DeepCopyInto(out *HcpOpenShiftCluster) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster. +func (in *HcpOpenShiftCluster) DeepCopy() *HcpOpenShiftCluster { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftCluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterList) DeepCopyInto(out *HcpOpenShiftClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterList. +func (in *HcpOpenShiftClusterList) DeepCopy() *HcpOpenShiftClusterList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterOperatorSecrets) DeepCopyInto(out *HcpOpenShiftClusterOperatorSecrets) { + *out = *in + if in.AdminCredentials != nil { + in, out := &in.AdminCredentials, &out.AdminCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterOperatorSecrets. +func (in *HcpOpenShiftClusterOperatorSecrets) DeepCopy() *HcpOpenShiftClusterOperatorSecrets { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterOperatorSpec) DeepCopyInto(out *HcpOpenShiftClusterOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(HcpOpenShiftClusterOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterOperatorSpec. +func (in *HcpOpenShiftClusterOperatorSpec) DeepCopy() *HcpOpenShiftClusterOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterProperties) DeepCopyInto(out *HcpOpenShiftClusterProperties) { + *out = *in + if in.Api != nil { + in, out := &in.Api, &out.Api + *out = new(ApiProfile) + (*in).DeepCopyInto(*out) + } + if in.Autoscaling != nil { + in, out := &in.Autoscaling, &out.Autoscaling + *out = new(ClusterAutoscalingProfile) + (*in).DeepCopyInto(*out) + } + if in.ClusterImageRegistry != nil { + in, out := &in.ClusterImageRegistry, &out.ClusterImageRegistry + *out = new(ClusterImageRegistryProfile) + (*in).DeepCopyInto(*out) + } + if in.Dns != nil { + in, out := &in.Dns, &out.Dns + *out = new(DnsProfile) + (*in).DeepCopyInto(*out) + } + if in.Etcd != nil { + in, out := &in.Etcd, &out.Etcd + *out = new(EtcdProfile) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(NetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(PlatformProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(VersionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterProperties. +func (in *HcpOpenShiftClusterProperties) DeepCopy() *HcpOpenShiftClusterProperties { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterProperties_STATUS) DeepCopyInto(out *HcpOpenShiftClusterProperties_STATUS) { + *out = *in + if in.Api != nil { + in, out := &in.Api, &out.Api + *out = new(ApiProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Autoscaling != nil { + in, out := &in.Autoscaling, &out.Autoscaling + *out = new(ClusterAutoscalingProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ClusterImageRegistry != nil { + in, out := &in.ClusterImageRegistry, &out.ClusterImageRegistry + *out = new(ClusterImageRegistryProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Console != nil { + in, out := &in.Console, &out.Console + *out = new(ConsoleProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Dns != nil { + in, out := &in.Dns, &out.Dns + *out = new(DnsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Etcd != nil { + in, out := &in.Etcd, &out.Etcd + *out = new(EtcdProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(NetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(PlatformProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(VersionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterProperties_STATUS. +func (in *HcpOpenShiftClusterProperties_STATUS) DeepCopy() *HcpOpenShiftClusterProperties_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster_STATUS) DeepCopyInto(out *HcpOpenShiftCluster_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(HcpOpenShiftClusterProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster_STATUS. +func (in *HcpOpenShiftCluster_STATUS) DeepCopy() *HcpOpenShiftCluster_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster_Spec) DeepCopyInto(out *HcpOpenShiftCluster_Spec) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClusterOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(HcpOpenShiftClusterProperties) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster_Spec. +func (in *HcpOpenShiftCluster_Spec) DeepCopy() *HcpOpenShiftCluster_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopy() *HcpOpenShiftClustersExternalAuth { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopyInto(out *HcpOpenShiftClustersExternalAuthList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftClustersExternalAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuthList. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopy() *HcpOpenShiftClustersExternalAuthList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuthList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuthOperatorSpec) DeepCopyInto(out *HcpOpenShiftClustersExternalAuthOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuthOperatorSpec. +func (in *HcpOpenShiftClustersExternalAuthOperatorSpec) DeepCopy() *HcpOpenShiftClustersExternalAuthOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuthOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth_STATUS) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ExternalAuthProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth_STATUS. +func (in *HcpOpenShiftClustersExternalAuth_STATUS) DeepCopy() *HcpOpenShiftClustersExternalAuth_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth_Spec) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth_Spec) { + *out = *in + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClustersExternalAuthOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ExternalAuthProperties) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth_Spec. +func (in *HcpOpenShiftClustersExternalAuth_Spec) DeepCopy() *HcpOpenShiftClustersExternalAuth_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool) DeepCopyInto(out *HcpOpenShiftClustersNodePool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool. +func (in *HcpOpenShiftClustersNodePool) DeepCopy() *HcpOpenShiftClustersNodePool { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersNodePool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopyInto(out *HcpOpenShiftClustersNodePoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftClustersNodePool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePoolList. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopy() *HcpOpenShiftClustersNodePoolList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePoolOperatorSpec) DeepCopyInto(out *HcpOpenShiftClustersNodePoolOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePoolOperatorSpec. +func (in *HcpOpenShiftClustersNodePoolOperatorSpec) DeepCopy() *HcpOpenShiftClustersNodePoolOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePoolOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool_STATUS) DeepCopyInto(out *HcpOpenShiftClustersNodePool_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(NodePoolProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool_STATUS. +func (in *HcpOpenShiftClustersNodePool_STATUS) DeepCopy() *HcpOpenShiftClustersNodePool_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool_Spec) DeepCopyInto(out *HcpOpenShiftClustersNodePool_Spec) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClustersNodePoolOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(NodePoolProperties) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool_Spec. +func (in *HcpOpenShiftClustersNodePool_Spec) DeepCopy() *HcpOpenShiftClustersNodePool_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsEncryptionProfile) DeepCopyInto(out *KmsEncryptionProfile) { + *out = *in + if in.ActiveKey != nil { + in, out := &in.ActiveKey, &out.ActiveKey + *out = new(KmsKey) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsEncryptionProfile. +func (in *KmsEncryptionProfile) DeepCopy() *KmsEncryptionProfile { + if in == nil { + return nil + } + out := new(KmsEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsEncryptionProfile_STATUS) DeepCopyInto(out *KmsEncryptionProfile_STATUS) { + *out = *in + if in.ActiveKey != nil { + in, out := &in.ActiveKey, &out.ActiveKey + *out = new(KmsKey_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsEncryptionProfile_STATUS. +func (in *KmsEncryptionProfile_STATUS) DeepCopy() *KmsEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(KmsEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsKey) DeepCopyInto(out *KmsKey) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VaultName != nil { + in, out := &in.VaultName, &out.VaultName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsKey. +func (in *KmsKey) DeepCopy() *KmsKey { + if in == nil { + return nil + } + out := new(KmsKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsKey_STATUS) DeepCopyInto(out *KmsKey_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VaultName != nil { + in, out := &in.VaultName, &out.VaultName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsKey_STATUS. +func (in *KmsKey_STATUS) DeepCopy() *KmsKey_STATUS { + if in == nil { + return nil + } + out := new(KmsKey_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Label) DeepCopyInto(out *Label) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label. +func (in *Label) DeepCopy() *Label { + if in == nil { + return nil + } + out := new(Label) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Label_STATUS) DeepCopyInto(out *Label_STATUS) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label_STATUS. +func (in *Label_STATUS) DeepCopy() *Label_STATUS { + if in == nil { + return nil + } + out := new(Label_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity. +func (in *ManagedServiceIdentity) DeepCopy() *ManagedServiceIdentity { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity_STATUS) DeepCopyInto(out *ManagedServiceIdentity_STATUS) { + *out = *in + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity_STATUS. +func (in *ManagedServiceIdentity_STATUS) DeepCopy() *ManagedServiceIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkProfile) DeepCopyInto(out *NetworkProfile) { + *out = *in + if in.HostPrefix != nil { + in, out := &in.HostPrefix, &out.HostPrefix + *out = new(int) + **out = **in + } + if in.MachineCidr != nil { + in, out := &in.MachineCidr, &out.MachineCidr + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkProfile. +func (in *NetworkProfile) DeepCopy() *NetworkProfile { + if in == nil { + return nil + } + out := new(NetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkProfile_STATUS) DeepCopyInto(out *NetworkProfile_STATUS) { + *out = *in + if in.HostPrefix != nil { + in, out := &in.HostPrefix, &out.HostPrefix + *out = new(int) + **out = **in + } + if in.MachineCidr != nil { + in, out := &in.MachineCidr, &out.MachineCidr + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkProfile_STATUS. +func (in *NetworkProfile_STATUS) DeepCopy() *NetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(NetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolAutoScaling) DeepCopyInto(out *NodePoolAutoScaling) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(int) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolAutoScaling. +func (in *NodePoolAutoScaling) DeepCopy() *NodePoolAutoScaling { + if in == nil { + return nil + } + out := new(NodePoolAutoScaling) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolAutoScaling_STATUS) DeepCopyInto(out *NodePoolAutoScaling_STATUS) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(int) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolAutoScaling_STATUS. +func (in *NodePoolAutoScaling_STATUS) DeepCopy() *NodePoolAutoScaling_STATUS { + if in == nil { + return nil + } + out := new(NodePoolAutoScaling_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolPlatformProfile) DeepCopyInto(out *NodePoolPlatformProfile) { + *out = *in + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.OsDisk != nil { + in, out := &in.OsDisk, &out.OsDisk + *out = new(OsDiskProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SubnetReference != nil { + in, out := &in.SubnetReference, &out.SubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolPlatformProfile. +func (in *NodePoolPlatformProfile) DeepCopy() *NodePoolPlatformProfile { + if in == nil { + return nil + } + out := new(NodePoolPlatformProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolPlatformProfile_STATUS) DeepCopyInto(out *NodePoolPlatformProfile_STATUS) { + *out = *in + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.OsDisk != nil { + in, out := &in.OsDisk, &out.OsDisk + *out = new(OsDiskProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SubnetId != nil { + in, out := &in.SubnetId, &out.SubnetId + *out = new(string) + **out = **in + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolPlatformProfile_STATUS. +func (in *NodePoolPlatformProfile_STATUS) DeepCopy() *NodePoolPlatformProfile_STATUS { + if in == nil { + return nil + } + out := new(NodePoolPlatformProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolProperties) DeepCopyInto(out *NodePoolProperties) { + *out = *in + if in.AutoRepair != nil { + in, out := &in.AutoRepair, &out.AutoRepair + *out = new(bool) + **out = **in + } + if in.AutoScaling != nil { + in, out := &in.AutoScaling, &out.AutoScaling + *out = new(NodePoolAutoScaling) + (*in).DeepCopyInto(*out) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]Label, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(NodePoolPlatformProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = new(int) + **out = **in + } + if in.Taints != nil { + in, out := &in.Taints, &out.Taints + *out = make([]Taint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(NodePoolVersionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolProperties. +func (in *NodePoolProperties) DeepCopy() *NodePoolProperties { + if in == nil { + return nil + } + out := new(NodePoolProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolProperties_STATUS) DeepCopyInto(out *NodePoolProperties_STATUS) { + *out = *in + if in.AutoRepair != nil { + in, out := &in.AutoRepair, &out.AutoRepair + *out = new(bool) + **out = **in + } + if in.AutoScaling != nil { + in, out := &in.AutoScaling, &out.AutoScaling + *out = new(NodePoolAutoScaling_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]Label_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(NodePoolPlatformProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = new(int) + **out = **in + } + if in.Taints != nil { + in, out := &in.Taints, &out.Taints + *out = make([]Taint_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(NodePoolVersionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolProperties_STATUS. +func (in *NodePoolProperties_STATUS) DeepCopy() *NodePoolProperties_STATUS { + if in == nil { + return nil + } + out := new(NodePoolProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolVersionProfile) DeepCopyInto(out *NodePoolVersionProfile) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolVersionProfile. +func (in *NodePoolVersionProfile) DeepCopy() *NodePoolVersionProfile { + if in == nil { + return nil + } + out := new(NodePoolVersionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolVersionProfile_STATUS) DeepCopyInto(out *NodePoolVersionProfile_STATUS) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolVersionProfile_STATUS. +func (in *NodePoolVersionProfile_STATUS) DeepCopy() *NodePoolVersionProfile_STATUS { + if in == nil { + return nil + } + out := new(NodePoolVersionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorsAuthenticationProfile) DeepCopyInto(out *OperatorsAuthenticationProfile) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = new(UserAssignedIdentitiesProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorsAuthenticationProfile. +func (in *OperatorsAuthenticationProfile) DeepCopy() *OperatorsAuthenticationProfile { + if in == nil { + return nil + } + out := new(OperatorsAuthenticationProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorsAuthenticationProfile_STATUS) DeepCopyInto(out *OperatorsAuthenticationProfile_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = new(UserAssignedIdentitiesProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorsAuthenticationProfile_STATUS. +func (in *OperatorsAuthenticationProfile_STATUS) DeepCopy() *OperatorsAuthenticationProfile_STATUS { + if in == nil { + return nil + } + out := new(OperatorsAuthenticationProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsDiskProfile) DeepCopyInto(out *OsDiskProfile) { + *out = *in + if in.DiskStorageAccountType != nil { + in, out := &in.DiskStorageAccountType, &out.DiskStorageAccountType + *out = new(string) + **out = **in + } + if in.EncryptionSetReference != nil { + in, out := &in.EncryptionSetReference, &out.EncryptionSetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SizeGiB != nil { + in, out := &in.SizeGiB, &out.SizeGiB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskProfile. +func (in *OsDiskProfile) DeepCopy() *OsDiskProfile { + if in == nil { + return nil + } + out := new(OsDiskProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsDiskProfile_STATUS) DeepCopyInto(out *OsDiskProfile_STATUS) { + *out = *in + if in.DiskStorageAccountType != nil { + in, out := &in.DiskStorageAccountType, &out.DiskStorageAccountType + *out = new(string) + **out = **in + } + if in.EncryptionSetId != nil { + in, out := &in.EncryptionSetId, &out.EncryptionSetId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SizeGiB != nil { + in, out := &in.SizeGiB, &out.SizeGiB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskProfile_STATUS. +func (in *OsDiskProfile_STATUS) DeepCopy() *OsDiskProfile_STATUS { + if in == nil { + return nil + } + out := new(OsDiskProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlatformProfile) DeepCopyInto(out *PlatformProfile) { + *out = *in + if in.ManagedResourceGroup != nil { + in, out := &in.ManagedResourceGroup, &out.ManagedResourceGroup + *out = new(string) + **out = **in + } + if in.NetworkSecurityGroupReference != nil { + in, out := &in.NetworkSecurityGroupReference, &out.NetworkSecurityGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.OperatorsAuthentication != nil { + in, out := &in.OperatorsAuthentication, &out.OperatorsAuthentication + *out = new(OperatorsAuthenticationProfile) + (*in).DeepCopyInto(*out) + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SubnetReference != nil { + in, out := &in.SubnetReference, &out.SubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformProfile. +func (in *PlatformProfile) DeepCopy() *PlatformProfile { + if in == nil { + return nil + } + out := new(PlatformProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlatformProfile_STATUS) DeepCopyInto(out *PlatformProfile_STATUS) { + *out = *in + if in.IssuerUrl != nil { + in, out := &in.IssuerUrl, &out.IssuerUrl + *out = new(string) + **out = **in + } + if in.ManagedResourceGroup != nil { + in, out := &in.ManagedResourceGroup, &out.ManagedResourceGroup + *out = new(string) + **out = **in + } + if in.NetworkSecurityGroupId != nil { + in, out := &in.NetworkSecurityGroupId, &out.NetworkSecurityGroupId + *out = new(string) + **out = **in + } + if in.OperatorsAuthentication != nil { + in, out := &in.OperatorsAuthentication, &out.OperatorsAuthentication + *out = new(OperatorsAuthenticationProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SubnetId != nil { + in, out := &in.SubnetId, &out.SubnetId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformProfile_STATUS. +func (in *PlatformProfile_STATUS) DeepCopy() *PlatformProfile_STATUS { + if in == nil { + return nil + } + out := new(PlatformProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(string) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Taint) DeepCopyInto(out *Taint) { + *out = *in + if in.Effect != nil { + in, out := &in.Effect, &out.Effect + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint. +func (in *Taint) DeepCopy() *Taint { + if in == nil { + return nil + } + out := new(Taint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Taint_STATUS) DeepCopyInto(out *Taint_STATUS) { + *out = *in + if in.Effect != nil { + in, out := &in.Effect, &out.Effect + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint_STATUS. +func (in *Taint_STATUS) DeepCopy() *Taint_STATUS { + if in == nil { + return nil + } + out := new(Taint_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimMappingsProfile) DeepCopyInto(out *TokenClaimMappingsProfile) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = new(GroupClaimProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(UsernameClaimProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimMappingsProfile. +func (in *TokenClaimMappingsProfile) DeepCopy() *TokenClaimMappingsProfile { + if in == nil { + return nil + } + out := new(TokenClaimMappingsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimMappingsProfile_STATUS) DeepCopyInto(out *TokenClaimMappingsProfile_STATUS) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = new(GroupClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(UsernameClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimMappingsProfile_STATUS. +func (in *TokenClaimMappingsProfile_STATUS) DeepCopy() *TokenClaimMappingsProfile_STATUS { + if in == nil { + return nil + } + out := new(TokenClaimMappingsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimValidationRule) DeepCopyInto(out *TokenClaimValidationRule) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RequiredClaim != nil { + in, out := &in.RequiredClaim, &out.RequiredClaim + *out = new(TokenRequiredClaim) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimValidationRule. +func (in *TokenClaimValidationRule) DeepCopy() *TokenClaimValidationRule { + if in == nil { + return nil + } + out := new(TokenClaimValidationRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimValidationRule_STATUS) DeepCopyInto(out *TokenClaimValidationRule_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RequiredClaim != nil { + in, out := &in.RequiredClaim, &out.RequiredClaim + *out = new(TokenRequiredClaim_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimValidationRule_STATUS. +func (in *TokenClaimValidationRule_STATUS) DeepCopy() *TokenClaimValidationRule_STATUS { + if in == nil { + return nil + } + out := new(TokenClaimValidationRule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenIssuerProfile) DeepCopyInto(out *TokenIssuerProfile) { + *out = *in + if in.Audiences != nil { + in, out := &in.Audiences, &out.Audiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Ca != nil { + in, out := &in.Ca, &out.Ca + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenIssuerProfile. +func (in *TokenIssuerProfile) DeepCopy() *TokenIssuerProfile { + if in == nil { + return nil + } + out := new(TokenIssuerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenIssuerProfile_STATUS) DeepCopyInto(out *TokenIssuerProfile_STATUS) { + *out = *in + if in.Audiences != nil { + in, out := &in.Audiences, &out.Audiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Ca != nil { + in, out := &in.Ca, &out.Ca + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenIssuerProfile_STATUS. +func (in *TokenIssuerProfile_STATUS) DeepCopy() *TokenIssuerProfile_STATUS { + if in == nil { + return nil + } + out := new(TokenIssuerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenRequiredClaim) DeepCopyInto(out *TokenRequiredClaim) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RequiredValue != nil { + in, out := &in.RequiredValue, &out.RequiredValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRequiredClaim. +func (in *TokenRequiredClaim) DeepCopy() *TokenRequiredClaim { + if in == nil { + return nil + } + out := new(TokenRequiredClaim) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenRequiredClaim_STATUS) DeepCopyInto(out *TokenRequiredClaim_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RequiredValue != nil { + in, out := &in.RequiredValue, &out.RequiredValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRequiredClaim_STATUS. +func (in *TokenRequiredClaim_STATUS) DeepCopy() *TokenRequiredClaim_STATUS { + if in == nil { + return nil + } + out := new(TokenRequiredClaim_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentitiesProfile) DeepCopyInto(out *UserAssignedIdentitiesProfile) { + *out = *in + if in.ControlPlaneOperatorsReferences != nil { + in, out := &in.ControlPlaneOperatorsReferences, &out.ControlPlaneOperatorsReferences + *out = make(map[string]genruntime.ResourceReference, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.DataPlaneOperatorsReferences != nil { + in, out := &in.DataPlaneOperatorsReferences, &out.DataPlaneOperatorsReferences + *out = make(map[string]genruntime.ResourceReference, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceManagedIdentityReference != nil { + in, out := &in.ServiceManagedIdentityReference, &out.ServiceManagedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentitiesProfile. +func (in *UserAssignedIdentitiesProfile) DeepCopy() *UserAssignedIdentitiesProfile { + if in == nil { + return nil + } + out := new(UserAssignedIdentitiesProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentitiesProfile_STATUS) DeepCopyInto(out *UserAssignedIdentitiesProfile_STATUS) { + *out = *in + if in.ControlPlaneOperators != nil { + in, out := &in.ControlPlaneOperators, &out.ControlPlaneOperators + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.DataPlaneOperators != nil { + in, out := &in.DataPlaneOperators, &out.DataPlaneOperators + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceManagedIdentity != nil { + in, out := &in.ServiceManagedIdentity, &out.ServiceManagedIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentitiesProfile_STATUS. +func (in *UserAssignedIdentitiesProfile_STATUS) DeepCopy() *UserAssignedIdentitiesProfile_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentitiesProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UsernameClaimProfile) DeepCopyInto(out *UsernameClaimProfile) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PrefixPolicy != nil { + in, out := &in.PrefixPolicy, &out.PrefixPolicy + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsernameClaimProfile. +func (in *UsernameClaimProfile) DeepCopy() *UsernameClaimProfile { + if in == nil { + return nil + } + out := new(UsernameClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UsernameClaimProfile_STATUS) DeepCopyInto(out *UsernameClaimProfile_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PrefixPolicy != nil { + in, out := &in.PrefixPolicy, &out.PrefixPolicy + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsernameClaimProfile_STATUS. +func (in *UsernameClaimProfile_STATUS) DeepCopy() *UsernameClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(UsernameClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionProfile) DeepCopyInto(out *VersionProfile) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionProfile. +func (in *VersionProfile) DeepCopy() *VersionProfile { + if in == nil { + return nil + } + out := new(VersionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionProfile_STATUS) DeepCopyInto(out *VersionProfile_STATUS) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionProfile_STATUS. +func (in *VersionProfile_STATUS) DeepCopy() *VersionProfile_STATUS { + if in == nil { + return nil + } + out := new(VersionProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/structure.txt b/v2/api/redhatopenshift/v1api20240610preview/structure.txt new file mode 100644 index 00000000000..7e7d6c0ab8a --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/structure.txt @@ -0,0 +1,459 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview +----------------------------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2024-06-10-preview" + +HcpOpenShiftCluster: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (7 properties) +│ ├── AzureName: Validated (1 rule) +│ │ └── Rule 0: Pattern: "^[a-zA-Z][-a-zA-Z0-9]{1,52}[a-zA-Z0-9]$" +│ ├── Identity: *Object (2 properties) +│ │ ├── Type: *Enum (4 values) +│ │ │ ├── "None" +│ │ │ ├── "SystemAssigned" +│ │ │ ├── "SystemAssigned,UserAssigned" +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── SecretExpressions: *core.DestinationExpression[] +│ │ └── Secrets: *Object (1 property) +│ │ └── AdminCredentials: *genruntime.SecretDestination +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Properties: *Object (9 properties) +│ │ ├── Api: *Object (2 properties) +│ │ │ ├── AuthorizedCidrs: Validated (1 rule) +│ │ │ │ └── Rule 0: MaxItems: 500 +│ │ │ └── Visibility: *Enum (2 values) +│ │ │ ├── "Private" +│ │ │ └── "Public" +│ │ ├── Autoscaling: *Object (4 properties) +│ │ │ ├── MaxNodeProvisionTimeSeconds: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 0 +│ │ │ ├── MaxNodesTotal: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 0 +│ │ │ ├── MaxPodGracePeriodSeconds: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 0 +│ │ │ └── PodPriorityThreshold: *int +│ │ ├── ClusterImageRegistry: *Object (1 property) +│ │ │ └── State: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── Dns: *Object (1 property) +│ │ │ └── BaseDomainPrefix: Validated<*string> (2 rules) +│ │ │ ├── Rule 0: MaxLength: 15 +│ │ │ └── Rule 1: Pattern: "^[a-z]([-a-z0-9]*[a-z0-9])?$" +│ │ ├── Etcd: *Object (1 property) +│ │ │ └── DataEncryption: *Object (2 properties) +│ │ │ ├── CustomerManaged: *Object (2 properties) +│ │ │ │ ├── EncryptionType: *Enum (1 value) +│ │ │ │ │ └── "KMS" +│ │ │ │ └── Kms: *Object (1 property) +│ │ │ │ └── ActiveKey: *Object (3 properties) +│ │ │ │ ├── Name: Validated<*string> (2 rules) +│ │ │ │ │ ├── Rule 0: MaxLength: 255 +│ │ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ │ ├── VaultName: Validated<*string> (2 rules) +│ │ │ │ │ ├── Rule 0: MaxLength: 255 +│ │ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ │ └── Version: Validated<*string> (2 rules) +│ │ │ │ ├── Rule 0: MaxLength: 255 +│ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ └── KeyManagementMode: *Enum (2 values) +│ │ │ ├── "CustomerManaged" +│ │ │ └── "PlatformManaged" +│ │ ├── Network: *Object (5 properties) +│ │ │ ├── HostPrefix: *int +│ │ │ ├── MachineCidr: *string +│ │ │ ├── NetworkType: *Enum (2 values) +│ │ │ │ ├── "OVNKubernetes" +│ │ │ │ └── "Other" +│ │ │ ├── PodCidr: *string +│ │ │ └── ServiceCidr: *string +│ │ ├── NodeDrainTimeoutMinutes: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 10080 +│ │ │ └── Rule 1: Minimum: 0 +│ │ ├── Platform: *Object (5 properties) +│ │ │ ├── ManagedResourceGroup: *string +│ │ │ ├── NetworkSecurityGroupReference: *genruntime.ResourceReference +│ │ │ ├── OperatorsAuthentication: *Object (1 property) +│ │ │ │ └── UserAssignedIdentities: *Object (3 properties) +│ │ │ │ ├── ControlPlaneOperatorsReferences: map[string]genruntime.ResourceReference +│ │ │ │ ├── DataPlaneOperatorsReferences: map[string]genruntime.ResourceReference +│ │ │ │ └── ServiceManagedIdentityReference: *genruntime.ResourceReference +│ │ │ ├── OutboundType: *Enum (1 value) +│ │ │ │ └── "LoadBalancer" +│ │ │ └── SubnetReference: *genruntime.ResourceReference +│ │ └── Version: *Object (2 properties) +│ │ ├── ChannelGroup: *string +│ │ └── Id: *string +│ └── Tags: map[string]string +└── Status: Object (9 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Identity: *Object (4 properties) + │ ├── PrincipalId: *string + │ ├── TenantId: *string + │ ├── Type: *Enum (4 values) + │ │ ├── "None" + │ │ ├── "SystemAssigned" + │ │ ├── "SystemAssigned,UserAssigned" + │ │ └── "UserAssigned" + │ └── UserAssignedIdentities: map[string]Object (2 properties) + │ ├── ClientId: *string + │ └── PrincipalId: *string + ├── Location: *string + ├── Name: *string + ├── Properties: *Object (11 properties) + │ ├── Api: *Object (3 properties) + │ │ ├── AuthorizedCidrs: string[] + │ │ ├── Url: *string + │ │ └── Visibility: *Enum (2 values) + │ │ ├── "Private" + │ │ └── "Public" + │ ├── Autoscaling: *Object (4 properties) + │ │ ├── MaxNodeProvisionTimeSeconds: *int + │ │ ├── MaxNodesTotal: *int + │ │ ├── MaxPodGracePeriodSeconds: *int + │ │ └── PodPriorityThreshold: *int + │ ├── ClusterImageRegistry: *Object (1 property) + │ │ └── State: *Enum (2 values) + │ │ ├── "Disabled" + │ │ └── "Enabled" + │ ├── Console: *Object (1 property) + │ │ └── Url: *string + │ ├── Dns: *Object (2 properties) + │ │ ├── BaseDomain: *string + │ │ └── BaseDomainPrefix: *string + │ ├── Etcd: *Object (1 property) + │ │ └── DataEncryption: *Object (2 properties) + │ │ ├── CustomerManaged: *Object (2 properties) + │ │ │ ├── EncryptionType: *Enum (1 value) + │ │ │ │ └── "KMS" + │ │ │ └── Kms: *Object (1 property) + │ │ │ └── ActiveKey: *Object (3 properties) + │ │ │ ├── Name: *string + │ │ │ ├── VaultName: *string + │ │ │ └── Version: *string + │ │ └── KeyManagementMode: *Enum (2 values) + │ │ ├── "CustomerManaged" + │ │ └── "PlatformManaged" + │ ├── Network: *Object (5 properties) + │ │ ├── HostPrefix: *int + │ │ ├── MachineCidr: *string + │ │ ├── NetworkType: *Enum (2 values) + │ │ │ ├── "OVNKubernetes" + │ │ │ └── "Other" + │ │ ├── PodCidr: *string + │ │ └── ServiceCidr: *string + │ ├── NodeDrainTimeoutMinutes: *int + │ ├── Platform: *Object (6 properties) + │ │ ├── IssuerUrl: *string + │ │ ├── ManagedResourceGroup: *string + │ │ ├── NetworkSecurityGroupId: *string + │ │ ├── OperatorsAuthentication: *Object (1 property) + │ │ │ └── UserAssignedIdentities: *Object (3 properties) + │ │ │ ├── ControlPlaneOperators: map[string]string + │ │ │ ├── DataPlaneOperators: map[string]string + │ │ │ └── ServiceManagedIdentity: *string + │ │ ├── OutboundType: *Enum (1 value) + │ │ │ └── "LoadBalancer" + │ │ └── SubnetId: *string + │ ├── ProvisioningState: *Enum (7 values) + │ │ ├── "Accepted" + │ │ ├── "Canceled" + │ │ ├── "Deleting" + │ │ ├── "Failed" + │ │ ├── "Provisioning" + │ │ ├── "Succeeded" + │ │ └── "Updating" + │ └── Version: *Object (2 properties) + │ ├── ChannelGroup: *string + │ └── Id: *string + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + ├── Tags: map[string]string + └── Type: *string + +HcpOpenShiftClustersExternalAuth: Resource +├── Owner: HcpOpenShiftCluster +├── Spec: Object (4 properties) +│ ├── AzureName: Validated (1 rule) +│ │ └── Rule 0: Pattern: "^[a-zA-Z][-a-zA-Z0-9]{1,15}$" +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ └── Properties: *Object (3 properties) +│ ├── Claim: *Object (2 properties) +│ │ ├── Mappings: *Object (2 properties) +│ │ │ ├── Groups: *Object (2 properties) +│ │ │ │ ├── Claim: Validated<*string> (2 rules) +│ │ │ │ │ ├── Rule 0: MaxLength: 256 +│ │ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ │ └── Prefix: *string +│ │ │ └── Username: *Object (3 properties) +│ │ │ ├── Claim: Validated<*string> (2 rules) +│ │ │ │ ├── Rule 0: MaxLength: 256 +│ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ ├── Prefix: *string +│ │ │ └── PrefixPolicy: *Enum (3 values) +│ │ │ ├── "NoPrefix" +│ │ │ ├── "None" +│ │ │ └── "Prefix" +│ │ └── ValidationRules: Object (2 properties)[] +│ │ ├── RequiredClaim: *Object (2 properties) +│ │ │ ├── Claim: Validated<*string> (1 rule) +│ │ │ │ └── Rule 0: MinLength: 1 +│ │ │ └── RequiredValue: Validated<*string> (1 rule) +│ │ │ └── Rule 0: MinLength: 1 +│ │ └── Type: *Enum (1 value) +│ │ └── "RequiredClaim" +│ ├── Clients: Validated (1 rule) +│ │ ├── ClientId: Validated<*string> (1 rule) +│ │ │ └── Rule 0: MinLength: 1 +│ │ ├── Component: *Object (2 properties) +│ │ │ ├── AuthClientNamespace: Validated<*string> (2 rules) +│ │ │ │ ├── Rule 0: MaxLength: 63 +│ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ └── Name: Validated<*string> (2 rules) +│ │ │ ├── Rule 0: MaxLength: 256 +│ │ │ └── Rule 1: MinLength: 1 +│ │ ├── ExtraScopes: string[] +│ │ ├── Type: *Enum (2 values) +│ │ │ ├── "Confidential" +│ │ │ └── "Public" +│ │ └── Rule 0: MaxItems: 20 +│ └── Issuer: *Object (3 properties) +│ ├── Audiences: Validated (2 rules) +│ │ ├── Rule 0: MaxItems: 10 +│ │ └── Rule 1: MinItems: 1 +│ ├── Ca: *string +│ └── Url: Validated<*string> (1 rule) +│ └── Rule 0: Pattern: "^[a-zA-Z][a-zA-Z0-9+-.]*:[^\\s]*$" +└── Status: Object (6 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Name: *string + ├── Properties: *Object (5 properties) + │ ├── Claim: *Object (2 properties) + │ │ ├── Mappings: *Object (2 properties) + │ │ │ ├── Groups: *Object (2 properties) + │ │ │ │ ├── Claim: *string + │ │ │ │ └── Prefix: *string + │ │ │ └── Username: *Object (3 properties) + │ │ │ ├── Claim: *string + │ │ │ ├── Prefix: *string + │ │ │ └── PrefixPolicy: *Enum (3 values) + │ │ │ ├── "NoPrefix" + │ │ │ ├── "None" + │ │ │ └── "Prefix" + │ │ └── ValidationRules: Object (2 properties)[] + │ │ ├── RequiredClaim: *Object (2 properties) + │ │ │ ├── Claim: *string + │ │ │ └── RequiredValue: *string + │ │ └── Type: *Enum (1 value) + │ │ └── "RequiredClaim" + │ ├── Clients: Object (4 properties)[] + │ │ ├── ClientId: Validated<*string> (1 rule) + │ │ │ └── Rule 0: MinLength: 1 + │ │ ├── Component: *Object (2 properties) + │ │ │ ├── AuthClientNamespace: Validated<*string> (2 rules) + │ │ │ │ ├── Rule 0: MaxLength: 63 + │ │ │ │ └── Rule 1: MinLength: 1 + │ │ │ └── Name: Validated<*string> (2 rules) + │ │ │ ├── Rule 0: MaxLength: 256 + │ │ │ └── Rule 1: MinLength: 1 + │ │ ├── ExtraScopes: string[] + │ │ └── Type: *Enum (2 values) + │ │ ├── "Confidential" + │ │ └── "Public" + │ ├── Condition: *Object (5 properties) + │ │ ├── LastTransitionTime: *string + │ │ ├── Message: *string + │ │ ├── Reason: *string + │ │ ├── Status: *Enum (3 values) + │ │ │ ├── "False" + │ │ │ ├── "True" + │ │ │ └── "Unknown" + │ │ └── Type: *Enum (3 values) + │ │ ├── "Available" + │ │ ├── "Degraded" + │ │ └── "Progressing" + │ ├── Issuer: *Object (3 properties) + │ │ ├── Audiences: string[] + │ │ ├── Ca: *string + │ │ └── Url: *string + │ └── ProvisioningState: *Enum (8 values) + │ ├── "Accepted" + │ ├── "AwaitingSecret" + │ ├── "Canceled" + │ ├── "Deleting" + │ ├── "Failed" + │ ├── "Provisioning" + │ ├── "Succeeded" + │ └── "Updating" + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + └── Type: *string + +HcpOpenShiftClustersNodePool: Resource +├── Owner: HcpOpenShiftCluster +├── Spec: Object (7 properties) +│ ├── AzureName: Validated (1 rule) +│ │ └── Rule 0: Pattern: "^[a-zA-Z][-a-zA-Z0-9]{1,13}[a-zA-Z0-9]$" +│ ├── Identity: *Object (2 properties) +│ │ ├── Type: *Enum (4 values) +│ │ │ ├── "None" +│ │ │ ├── "SystemAssigned" +│ │ │ ├── "SystemAssigned,UserAssigned" +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Properties: *Object (8 properties) +│ │ ├── AutoRepair: *bool +│ │ ├── AutoScaling: *Object (2 properties) +│ │ │ ├── Max: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 0 +│ │ │ └── Min: Validated<*int> (1 rule) +│ │ │ └── Rule 0: Minimum: 0 +│ │ ├── Labels: Object (2 properties)[] +│ │ │ ├── Key: *string +│ │ │ └── Value: *string +│ │ ├── NodeDrainTimeoutMinutes: *int +│ │ ├── Platform: *Object (5 properties) +│ │ │ ├── AvailabilityZone: *string +│ │ │ ├── EnableEncryptionAtHost: *bool +│ │ │ ├── OsDisk: *Object (3 properties) +│ │ │ │ ├── DiskStorageAccountType: *Enum (3 values) +│ │ │ │ │ ├── "Premium_LRS" +│ │ │ │ │ ├── "StandardSSD_LRS" +│ │ │ │ │ └── "Standard_LRS" +│ │ │ │ ├── EncryptionSetReference: *genruntime.ResourceReference +│ │ │ │ └── SizeGiB: *int +│ │ │ ├── SubnetReference: *genruntime.ResourceReference +│ │ │ └── VmSize: *string +│ │ ├── Replicas: *int +│ │ ├── Taints: Object (3 properties)[] +│ │ │ ├── Effect: *Enum (3 values) +│ │ │ │ ├── "NoExecute" +│ │ │ │ ├── "NoSchedule" +│ │ │ │ └── "PreferNoSchedule" +│ │ │ ├── Key: Validated<*string> (2 rules) +│ │ │ │ ├── Rule 0: MaxLength: 316 +│ │ │ │ └── Rule 1: MinLength: 1 +│ │ │ └── Value: Validated<*string> (1 rule) +│ │ │ └── Rule 0: MaxLength: 63 +│ │ └── Version: *Object (2 properties) +│ │ ├── ChannelGroup: *string +│ │ └── Id: *string +│ └── Tags: map[string]string +└── Status: Object (9 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Identity: *Object (4 properties) + │ ├── PrincipalId: *string + │ ├── TenantId: *string + │ ├── Type: *Enum (4 values) + │ │ ├── "None" + │ │ ├── "SystemAssigned" + │ │ ├── "SystemAssigned,UserAssigned" + │ │ └── "UserAssigned" + │ └── UserAssignedIdentities: map[string]Object (2 properties) + │ ├── ClientId: *string + │ └── PrincipalId: *string + ├── Location: *string + ├── Name: *string + ├── Properties: *Object (9 properties) + │ ├── AutoRepair: *bool + │ ├── AutoScaling: *Object (2 properties) + │ │ ├── Max: *int + │ │ └── Min: *int + │ ├── Labels: Object (2 properties)[] + │ │ ├── Key: *string + │ │ └── Value: *string + │ ├── NodeDrainTimeoutMinutes: *int + │ ├── Platform: *Object (5 properties) + │ │ ├── AvailabilityZone: *string + │ │ ├── EnableEncryptionAtHost: *bool + │ │ ├── OsDisk: *Object (3 properties) + │ │ │ ├── DiskStorageAccountType: *Enum (3 values) + │ │ │ │ ├── "Premium_LRS" + │ │ │ │ ├── "StandardSSD_LRS" + │ │ │ │ └── "Standard_LRS" + │ │ │ ├── EncryptionSetId: *string + │ │ │ └── SizeGiB: *int + │ │ ├── SubnetId: *string + │ │ └── VmSize: *string + │ ├── ProvisioningState: *Enum (7 values) + │ │ ├── "Accepted" + │ │ ├── "Canceled" + │ │ ├── "Deleting" + │ │ ├── "Failed" + │ │ ├── "Provisioning" + │ │ ├── "Succeeded" + │ │ └── "Updating" + │ ├── Replicas: *int + │ ├── Taints: Object (3 properties)[] + │ │ ├── Effect: *Enum (3 values) + │ │ │ ├── "NoExecute" + │ │ │ ├── "NoSchedule" + │ │ │ └── "PreferNoSchedule" + │ │ ├── Key: *string + │ │ └── Value: *string + │ └── Version: *Object (2 properties) + │ ├── ChannelGroup: *string + │ └── Id: *string + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + ├── Tags: map[string]string + └── Type: *string + diff --git a/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_cluster_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_cluster_types_gen.go new file mode 100644 index 00000000000..85131b80589 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_cluster_types_gen.go @@ -0,0 +1,190 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package webhook + +import ( + "context" + "fmt" + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +type HcpOpenShiftCluster struct { +} + +// +kubebuilder:webhook:path=/mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclusters,verbs=create;update,versions=v1api20240610preview,name=default.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomDefaulter = &HcpOpenShiftCluster{} + +// Default applies defaults to the HcpOpenShiftCluster resource +func (cluster *HcpOpenShiftCluster) Default(ctx context.Context, obj runtime.Object) error { + resource, ok := obj.(*v20240610p.HcpOpenShiftCluster) + if !ok { + return fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftCluster, but got %T", obj) + } + err := cluster.defaultImpl(ctx, resource) + if err != nil { + return err + } + var temp any = cluster + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + err = runtimeDefaulter.CustomDefault(ctx, resource) + if err != nil { + return err + } + } + return nil +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (cluster *HcpOpenShiftCluster) defaultAzureName(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) error { + if obj.Spec.AzureName == "" { + obj.Spec.AzureName = obj.Name + } + return nil +} + +// defaultImpl applies the code generated defaults to the HcpOpenShiftCluster resource +func (cluster *HcpOpenShiftCluster) defaultImpl(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) error { + err := cluster.defaultAzureName(ctx, obj) + if err != nil { + return err + } + return nil +} + +// +kubebuilder:webhook:path=/validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftcluster,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclusters,verbs=create;update,versions=v1api20240610preview,name=validate.v1api20240610preview.hcpopenshiftclusters.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomValidator = &HcpOpenShiftCluster{} + +// ValidateCreate validates the creation of the resource +func (cluster *HcpOpenShiftCluster) ValidateCreate(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftCluster) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftCluster, but got %T", resource) + } + validations := cluster.createValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftCluster]); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(ctx, obj, validations) +} + +// ValidateDelete validates the deletion of the resource +func (cluster *HcpOpenShiftCluster) ValidateDelete(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftCluster) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftCluster, but got %T", resource) + } + validations := cluster.deleteValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftCluster]); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(ctx, obj, validations) +} + +// ValidateUpdate validates an update of the resource +func (cluster *HcpOpenShiftCluster) ValidateUpdate(ctx context.Context, oldResource runtime.Object, newResource runtime.Object) (admission.Warnings, error) { + newObj, ok := newResource.(*v20240610p.HcpOpenShiftCluster) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftCluster, but got %T", newResource) + } + oldObj, ok := oldResource.(*v20240610p.HcpOpenShiftCluster) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftCluster, but got %T", oldResource) + } + validations := cluster.updateValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftCluster]); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate( + ctx, + oldObj, + newObj, + validations) +} + +// createValidations validates the creation of the resource +func (cluster *HcpOpenShiftCluster) createValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return []func(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error){ + cluster.validateResourceReferences, + cluster.validateOwnerReference, + cluster.validateSecretDestinations, + cluster.validateConfigMapDestinations, + } +} + +// deleteValidations validates the deletion of the resource +func (cluster *HcpOpenShiftCluster) deleteValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (cluster *HcpOpenShiftCluster) updateValidations() []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error){ + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return cluster.validateResourceReferences(ctx, newObj) + }, + cluster.validateWriteOnceProperties, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return cluster.validateOwnerReference(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return cluster.validateSecretDestinations(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return cluster.validateConfigMapDestinations(ctx, newObj) + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (cluster *HcpOpenShiftCluster) validateConfigMapDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(obj, nil, obj.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (cluster *HcpOpenShiftCluster) validateOwnerReference(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return genruntime.ValidateOwner(obj) +} + +// validateResourceReferences validates all resource references +func (cluster *HcpOpenShiftCluster) validateResourceReferences(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&obj.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (cluster *HcpOpenShiftCluster) validateSecretDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + var toValidate []*genruntime.SecretDestination + if obj.Spec.OperatorSpec.Secrets != nil { + toValidate = []*genruntime.SecretDestination{ + obj.Spec.OperatorSpec.Secrets.AdminCredentials, + } + } + return secrets.ValidateDestinations(obj, toValidate, obj.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (cluster *HcpOpenShiftCluster) validateWriteOnceProperties(ctx context.Context, oldObj *v20240610p.HcpOpenShiftCluster, newObj *v20240610p.HcpOpenShiftCluster) (admission.Warnings, error) { + return genruntime.ValidateWriteOnceProperties(oldObj, newObj) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_external_auth_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_external_auth_types_gen.go new file mode 100644 index 00000000000..63862e8ea50 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_external_auth_types_gen.go @@ -0,0 +1,184 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package webhook + +import ( + "context" + "fmt" + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +type HcpOpenShiftClustersExternalAuth struct { +} + +// +kubebuilder:webhook:path=/mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersexternalauths,verbs=create;update,versions=v1api20240610preview,name=default.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomDefaulter = &HcpOpenShiftClustersExternalAuth{} + +// Default applies defaults to the HcpOpenShiftClustersExternalAuth resource +func (auth *HcpOpenShiftClustersExternalAuth) Default(ctx context.Context, obj runtime.Object) error { + resource, ok := obj.(*v20240610p.HcpOpenShiftClustersExternalAuth) + if !ok { + return fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersExternalAuth, but got %T", obj) + } + err := auth.defaultImpl(ctx, resource) + if err != nil { + return err + } + var temp any = auth + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + err = runtimeDefaulter.CustomDefault(ctx, resource) + if err != nil { + return err + } + } + return nil +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (auth *HcpOpenShiftClustersExternalAuth) defaultAzureName(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) error { + if obj.Spec.AzureName == "" { + obj.Spec.AzureName = obj.Name + } + return nil +} + +// defaultImpl applies the code generated defaults to the HcpOpenShiftClustersExternalAuth resource +func (auth *HcpOpenShiftClustersExternalAuth) defaultImpl(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) error { + err := auth.defaultAzureName(ctx, obj) + if err != nil { + return err + } + return nil +} + +// +kubebuilder:webhook:path=/validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersexternalauth,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersexternalauths,verbs=create;update,versions=v1api20240610preview,name=validate.v1api20240610preview.hcpopenshiftclustersexternalauths.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomValidator = &HcpOpenShiftClustersExternalAuth{} + +// ValidateCreate validates the creation of the resource +func (auth *HcpOpenShiftClustersExternalAuth) ValidateCreate(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftClustersExternalAuth) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersExternalAuth, but got %T", resource) + } + validations := auth.createValidations() + var temp any = auth + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersExternalAuth]); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(ctx, obj, validations) +} + +// ValidateDelete validates the deletion of the resource +func (auth *HcpOpenShiftClustersExternalAuth) ValidateDelete(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftClustersExternalAuth) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersExternalAuth, but got %T", resource) + } + validations := auth.deleteValidations() + var temp any = auth + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersExternalAuth]); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(ctx, obj, validations) +} + +// ValidateUpdate validates an update of the resource +func (auth *HcpOpenShiftClustersExternalAuth) ValidateUpdate(ctx context.Context, oldResource runtime.Object, newResource runtime.Object) (admission.Warnings, error) { + newObj, ok := newResource.(*v20240610p.HcpOpenShiftClustersExternalAuth) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersExternalAuth, but got %T", newResource) + } + oldObj, ok := oldResource.(*v20240610p.HcpOpenShiftClustersExternalAuth) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersExternalAuth, but got %T", oldResource) + } + validations := auth.updateValidations() + var temp any = auth + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersExternalAuth]); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate( + ctx, + oldObj, + newObj, + validations) +} + +// createValidations validates the creation of the resource +func (auth *HcpOpenShiftClustersExternalAuth) createValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error){ + auth.validateResourceReferences, + auth.validateOwnerReference, + auth.validateSecretDestinations, + auth.validateConfigMapDestinations, + } +} + +// deleteValidations validates the deletion of the resource +func (auth *HcpOpenShiftClustersExternalAuth) deleteValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (auth *HcpOpenShiftClustersExternalAuth) updateValidations() []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error){ + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return auth.validateResourceReferences(ctx, newObj) + }, + auth.validateWriteOnceProperties, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return auth.validateOwnerReference(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return auth.validateSecretDestinations(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return auth.validateConfigMapDestinations(ctx, newObj) + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (auth *HcpOpenShiftClustersExternalAuth) validateConfigMapDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(obj, nil, obj.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (auth *HcpOpenShiftClustersExternalAuth) validateOwnerReference(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return genruntime.ValidateOwner(obj) +} + +// validateResourceReferences validates all resource references +func (auth *HcpOpenShiftClustersExternalAuth) validateResourceReferences(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&obj.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (auth *HcpOpenShiftClustersExternalAuth) validateSecretDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(obj, nil, obj.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (auth *HcpOpenShiftClustersExternalAuth) validateWriteOnceProperties(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersExternalAuth, newObj *v20240610p.HcpOpenShiftClustersExternalAuth) (admission.Warnings, error) { + return genruntime.ValidateWriteOnceProperties(oldObj, newObj) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_node_pool_types_gen.go b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_node_pool_types_gen.go new file mode 100644 index 00000000000..664f7968f42 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/webhook/hcp_open_shift_clusters_node_pool_types_gen.go @@ -0,0 +1,184 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package webhook + +import ( + "context" + "fmt" + v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +type HcpOpenShiftClustersNodePool struct { +} + +// +kubebuilder:webhook:path=/mutate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersnodepools,verbs=create;update,versions=v1api20240610preview,name=default.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomDefaulter = &HcpOpenShiftClustersNodePool{} + +// Default applies defaults to the HcpOpenShiftClustersNodePool resource +func (pool *HcpOpenShiftClustersNodePool) Default(ctx context.Context, obj runtime.Object) error { + resource, ok := obj.(*v20240610p.HcpOpenShiftClustersNodePool) + if !ok { + return fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersNodePool, but got %T", obj) + } + err := pool.defaultImpl(ctx, resource) + if err != nil { + return err + } + var temp any = pool + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + err = runtimeDefaulter.CustomDefault(ctx, resource) + if err != nil { + return err + } + } + return nil +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (pool *HcpOpenShiftClustersNodePool) defaultAzureName(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) error { + if obj.Spec.AzureName == "" { + obj.Spec.AzureName = obj.Name + } + return nil +} + +// defaultImpl applies the code generated defaults to the HcpOpenShiftClustersNodePool resource +func (pool *HcpOpenShiftClustersNodePool) defaultImpl(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) error { + err := pool.defaultAzureName(ctx, obj) + if err != nil { + return err + } + return nil +} + +// +kubebuilder:webhook:path=/validate-redhatopenshift-azure-com-v1api20240610preview-hcpopenshiftclustersnodepool,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=redhatopenshift.azure.com,resources=hcpopenshiftclustersnodepools,verbs=create;update,versions=v1api20240610preview,name=validate.v1api20240610preview.hcpopenshiftclustersnodepools.redhatopenshift.azure.com,admissionReviewVersions=v1 + +var _ webhook.CustomValidator = &HcpOpenShiftClustersNodePool{} + +// ValidateCreate validates the creation of the resource +func (pool *HcpOpenShiftClustersNodePool) ValidateCreate(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftClustersNodePool) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersNodePool, but got %T", resource) + } + validations := pool.createValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersNodePool]); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(ctx, obj, validations) +} + +// ValidateDelete validates the deletion of the resource +func (pool *HcpOpenShiftClustersNodePool) ValidateDelete(ctx context.Context, resource runtime.Object) (admission.Warnings, error) { + obj, ok := resource.(*v20240610p.HcpOpenShiftClustersNodePool) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersNodePool, but got %T", resource) + } + validations := pool.deleteValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersNodePool]); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(ctx, obj, validations) +} + +// ValidateUpdate validates an update of the resource +func (pool *HcpOpenShiftClustersNodePool) ValidateUpdate(ctx context.Context, oldResource runtime.Object, newResource runtime.Object) (admission.Warnings, error) { + newObj, ok := newResource.(*v20240610p.HcpOpenShiftClustersNodePool) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersNodePool, but got %T", newResource) + } + oldObj, ok := oldResource.(*v20240610p.HcpOpenShiftClustersNodePool) + if !ok { + return nil, fmt.Errorf("expected github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/HcpOpenShiftClustersNodePool, but got %T", oldResource) + } + validations := pool.updateValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator[*v20240610p.HcpOpenShiftClustersNodePool]); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate( + ctx, + oldObj, + newObj, + validations) +} + +// createValidations validates the creation of the resource +func (pool *HcpOpenShiftClustersNodePool) createValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error){ + pool.validateResourceReferences, + pool.validateOwnerReference, + pool.validateSecretDestinations, + pool.validateConfigMapDestinations, + } +} + +// deleteValidations validates the deletion of the resource +func (pool *HcpOpenShiftClustersNodePool) deleteValidations() []func(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (pool *HcpOpenShiftClustersNodePool) updateValidations() []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return []func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error){ + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return pool.validateResourceReferences(ctx, newObj) + }, + pool.validateWriteOnceProperties, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return pool.validateOwnerReference(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return pool.validateSecretDestinations(ctx, newObj) + }, + func(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return pool.validateConfigMapDestinations(ctx, newObj) + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (pool *HcpOpenShiftClustersNodePool) validateConfigMapDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(obj, nil, obj.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (pool *HcpOpenShiftClustersNodePool) validateOwnerReference(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return genruntime.ValidateOwner(obj) +} + +// validateResourceReferences validates all resource references +func (pool *HcpOpenShiftClustersNodePool) validateResourceReferences(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&obj.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (pool *HcpOpenShiftClustersNodePool) validateSecretDestinations(ctx context.Context, obj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + if obj.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(obj, nil, obj.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (pool *HcpOpenShiftClustersNodePool) validateWriteOnceProperties(ctx context.Context, oldObj *v20240610p.HcpOpenShiftClustersNodePool, newObj *v20240610p.HcpOpenShiftClustersNodePool) (admission.Warnings, error) { + return genruntime.ValidateWriteOnceProperties(oldObj, newObj) +} diff --git a/v2/api/redhatopenshift/v1api20240610preview/webhook/structure.txt b/v2/api/redhatopenshift/v1api20240610preview/webhook/structure.txt new file mode 100644 index 00000000000..f52708c5fbc --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/webhook/structure.txt @@ -0,0 +1,9 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/webhook +------------------------------------------------------------------------------------------- +HcpOpenShiftCluster: Object (0 properties) + +HcpOpenShiftClustersExternalAuth: Object (0 properties) + +HcpOpenShiftClustersNodePool: Object (0 properties) + diff --git a/v2/api/redhatopenshift/v1api20240610preview/zz_generated.deepcopy.go b/v2/api/redhatopenshift/v1api20240610preview/zz_generated.deepcopy.go new file mode 100644 index 00000000000..481fb841d08 --- /dev/null +++ b/v2/api/redhatopenshift/v1api20240610preview/zz_generated.deepcopy.go @@ -0,0 +1,2781 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1api20240610preview + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApiProfile) DeepCopyInto(out *ApiProfile) { + *out = *in + if in.AuthorizedCidrs != nil { + in, out := &in.AuthorizedCidrs, &out.AuthorizedCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Visibility != nil { + in, out := &in.Visibility, &out.Visibility + *out = new(ApiProfile_Visibility) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiProfile. +func (in *ApiProfile) DeepCopy() *ApiProfile { + if in == nil { + return nil + } + out := new(ApiProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApiProfile_STATUS) DeepCopyInto(out *ApiProfile_STATUS) { + *out = *in + if in.AuthorizedCidrs != nil { + in, out := &in.AuthorizedCidrs, &out.AuthorizedCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } + if in.Visibility != nil { + in, out := &in.Visibility, &out.Visibility + *out = new(ApiProfile_Visibility_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiProfile_STATUS. +func (in *ApiProfile_STATUS) DeepCopy() *ApiProfile_STATUS { + if in == nil { + return nil + } + out := new(ApiProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAutoscalingProfile) DeepCopyInto(out *ClusterAutoscalingProfile) { + *out = *in + if in.MaxNodeProvisionTimeSeconds != nil { + in, out := &in.MaxNodeProvisionTimeSeconds, &out.MaxNodeProvisionTimeSeconds + *out = new(int) + **out = **in + } + if in.MaxNodesTotal != nil { + in, out := &in.MaxNodesTotal, &out.MaxNodesTotal + *out = new(int) + **out = **in + } + if in.MaxPodGracePeriodSeconds != nil { + in, out := &in.MaxPodGracePeriodSeconds, &out.MaxPodGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.PodPriorityThreshold != nil { + in, out := &in.PodPriorityThreshold, &out.PodPriorityThreshold + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalingProfile. +func (in *ClusterAutoscalingProfile) DeepCopy() *ClusterAutoscalingProfile { + if in == nil { + return nil + } + out := new(ClusterAutoscalingProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAutoscalingProfile_STATUS) DeepCopyInto(out *ClusterAutoscalingProfile_STATUS) { + *out = *in + if in.MaxNodeProvisionTimeSeconds != nil { + in, out := &in.MaxNodeProvisionTimeSeconds, &out.MaxNodeProvisionTimeSeconds + *out = new(int) + **out = **in + } + if in.MaxNodesTotal != nil { + in, out := &in.MaxNodesTotal, &out.MaxNodesTotal + *out = new(int) + **out = **in + } + if in.MaxPodGracePeriodSeconds != nil { + in, out := &in.MaxPodGracePeriodSeconds, &out.MaxPodGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.PodPriorityThreshold != nil { + in, out := &in.PodPriorityThreshold, &out.PodPriorityThreshold + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalingProfile_STATUS. +func (in *ClusterAutoscalingProfile_STATUS) DeepCopy() *ClusterAutoscalingProfile_STATUS { + if in == nil { + return nil + } + out := new(ClusterAutoscalingProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterImageRegistryProfile) DeepCopyInto(out *ClusterImageRegistryProfile) { + *out = *in + if in.State != nil { + in, out := &in.State, &out.State + *out = new(ClusterImageRegistryProfile_State) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageRegistryProfile. +func (in *ClusterImageRegistryProfile) DeepCopy() *ClusterImageRegistryProfile { + if in == nil { + return nil + } + out := new(ClusterImageRegistryProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterImageRegistryProfile_STATUS) DeepCopyInto(out *ClusterImageRegistryProfile_STATUS) { + *out = *in + if in.State != nil { + in, out := &in.State, &out.State + *out = new(ClusterImageRegistryProfile_State_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageRegistryProfile_STATUS. +func (in *ClusterImageRegistryProfile_STATUS) DeepCopy() *ClusterImageRegistryProfile_STATUS { + if in == nil { + return nil + } + out := new(ClusterImageRegistryProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsoleProfile_STATUS) DeepCopyInto(out *ConsoleProfile_STATUS) { + *out = *in + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleProfile_STATUS. +func (in *ConsoleProfile_STATUS) DeepCopy() *ConsoleProfile_STATUS { + if in == nil { + return nil + } + out := new(ConsoleProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionProfile) DeepCopyInto(out *CustomerManagedEncryptionProfile) { + *out = *in + if in.EncryptionType != nil { + in, out := &in.EncryptionType, &out.EncryptionType + *out = new(CustomerManagedEncryptionProfile_EncryptionType) + **out = **in + } + if in.Kms != nil { + in, out := &in.Kms, &out.Kms + *out = new(KmsEncryptionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionProfile. +func (in *CustomerManagedEncryptionProfile) DeepCopy() *CustomerManagedEncryptionProfile { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionProfile_STATUS) DeepCopyInto(out *CustomerManagedEncryptionProfile_STATUS) { + *out = *in + if in.EncryptionType != nil { + in, out := &in.EncryptionType, &out.EncryptionType + *out = new(CustomerManagedEncryptionProfile_EncryptionType_STATUS) + **out = **in + } + if in.Kms != nil { + in, out := &in.Kms, &out.Kms + *out = new(KmsEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionProfile_STATUS. +func (in *CustomerManagedEncryptionProfile_STATUS) DeepCopy() *CustomerManagedEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DnsProfile) DeepCopyInto(out *DnsProfile) { + *out = *in + if in.BaseDomainPrefix != nil { + in, out := &in.BaseDomainPrefix, &out.BaseDomainPrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsProfile. +func (in *DnsProfile) DeepCopy() *DnsProfile { + if in == nil { + return nil + } + out := new(DnsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DnsProfile_STATUS) DeepCopyInto(out *DnsProfile_STATUS) { + *out = *in + if in.BaseDomain != nil { + in, out := &in.BaseDomain, &out.BaseDomain + *out = new(string) + **out = **in + } + if in.BaseDomainPrefix != nil { + in, out := &in.BaseDomainPrefix, &out.BaseDomainPrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsProfile_STATUS. +func (in *DnsProfile_STATUS) DeepCopy() *DnsProfile_STATUS { + if in == nil { + return nil + } + out := new(DnsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdDataEncryptionProfile) DeepCopyInto(out *EtcdDataEncryptionProfile) { + *out = *in + if in.CustomerManaged != nil { + in, out := &in.CustomerManaged, &out.CustomerManaged + *out = new(CustomerManagedEncryptionProfile) + (*in).DeepCopyInto(*out) + } + if in.KeyManagementMode != nil { + in, out := &in.KeyManagementMode, &out.KeyManagementMode + *out = new(EtcdDataEncryptionProfile_KeyManagementMode) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdDataEncryptionProfile. +func (in *EtcdDataEncryptionProfile) DeepCopy() *EtcdDataEncryptionProfile { + if in == nil { + return nil + } + out := new(EtcdDataEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdDataEncryptionProfile_STATUS) DeepCopyInto(out *EtcdDataEncryptionProfile_STATUS) { + *out = *in + if in.CustomerManaged != nil { + in, out := &in.CustomerManaged, &out.CustomerManaged + *out = new(CustomerManagedEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KeyManagementMode != nil { + in, out := &in.KeyManagementMode, &out.KeyManagementMode + *out = new(EtcdDataEncryptionProfile_KeyManagementMode_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdDataEncryptionProfile_STATUS. +func (in *EtcdDataEncryptionProfile_STATUS) DeepCopy() *EtcdDataEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(EtcdDataEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdProfile) DeepCopyInto(out *EtcdProfile) { + *out = *in + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(EtcdDataEncryptionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdProfile. +func (in *EtcdProfile) DeepCopy() *EtcdProfile { + if in == nil { + return nil + } + out := new(EtcdProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdProfile_STATUS) DeepCopyInto(out *EtcdProfile_STATUS) { + *out = *in + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(EtcdDataEncryptionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdProfile_STATUS. +func (in *EtcdProfile_STATUS) DeepCopy() *EtcdProfile_STATUS { + if in == nil { + return nil + } + out := new(EtcdProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClaimProfile) DeepCopyInto(out *ExternalAuthClaimProfile) { + *out = *in + if in.Mappings != nil { + in, out := &in.Mappings, &out.Mappings + *out = new(TokenClaimMappingsProfile) + (*in).DeepCopyInto(*out) + } + if in.ValidationRules != nil { + in, out := &in.ValidationRules, &out.ValidationRules + *out = make([]TokenClaimValidationRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClaimProfile. +func (in *ExternalAuthClaimProfile) DeepCopy() *ExternalAuthClaimProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClaimProfile_STATUS) DeepCopyInto(out *ExternalAuthClaimProfile_STATUS) { + *out = *in + if in.Mappings != nil { + in, out := &in.Mappings, &out.Mappings + *out = new(TokenClaimMappingsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ValidationRules != nil { + in, out := &in.ValidationRules, &out.ValidationRules + *out = make([]TokenClaimValidationRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClaimProfile_STATUS. +func (in *ExternalAuthClaimProfile_STATUS) DeepCopy() *ExternalAuthClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientComponentProfile) DeepCopyInto(out *ExternalAuthClientComponentProfile) { + *out = *in + if in.AuthClientNamespace != nil { + in, out := &in.AuthClientNamespace, &out.AuthClientNamespace + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientComponentProfile. +func (in *ExternalAuthClientComponentProfile) DeepCopy() *ExternalAuthClientComponentProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClientComponentProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientComponentProfile_STATUS) DeepCopyInto(out *ExternalAuthClientComponentProfile_STATUS) { + *out = *in + if in.AuthClientNamespace != nil { + in, out := &in.AuthClientNamespace, &out.AuthClientNamespace + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientComponentProfile_STATUS. +func (in *ExternalAuthClientComponentProfile_STATUS) DeepCopy() *ExternalAuthClientComponentProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClientComponentProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientProfile) DeepCopyInto(out *ExternalAuthClientProfile) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.Component != nil { + in, out := &in.Component, &out.Component + *out = new(ExternalAuthClientComponentProfile) + (*in).DeepCopyInto(*out) + } + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExternalAuthClientType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientProfile. +func (in *ExternalAuthClientProfile) DeepCopy() *ExternalAuthClientProfile { + if in == nil { + return nil + } + out := new(ExternalAuthClientProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthClientProfile_STATUS) DeepCopyInto(out *ExternalAuthClientProfile_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.Component != nil { + in, out := &in.Component, &out.Component + *out = new(ExternalAuthClientComponentProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExternalAuthClientType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientProfile_STATUS. +func (in *ExternalAuthClientProfile_STATUS) DeepCopy() *ExternalAuthClientProfile_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthClientProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthCondition_STATUS) DeepCopyInto(out *ExternalAuthCondition_STATUS) { + *out = *in + if in.LastTransitionTime != nil { + in, out := &in.LastTransitionTime, &out.LastTransitionTime + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(StatusType_STATUS) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExternalAuthConditionType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthCondition_STATUS. +func (in *ExternalAuthCondition_STATUS) DeepCopy() *ExternalAuthCondition_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthCondition_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthProperties) DeepCopyInto(out *ExternalAuthProperties) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(ExternalAuthClaimProfile) + (*in).DeepCopyInto(*out) + } + if in.Clients != nil { + in, out := &in.Clients, &out.Clients + *out = make([]ExternalAuthClientProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(TokenIssuerProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthProperties. +func (in *ExternalAuthProperties) DeepCopy() *ExternalAuthProperties { + if in == nil { + return nil + } + out := new(ExternalAuthProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalAuthProperties_STATUS) DeepCopyInto(out *ExternalAuthProperties_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(ExternalAuthClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Clients != nil { + in, out := &in.Clients, &out.Clients + *out = make([]ExternalAuthClientProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = new(ExternalAuthCondition_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(TokenIssuerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ExternalAuthProvisioningState_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthProperties_STATUS. +func (in *ExternalAuthProperties_STATUS) DeepCopy() *ExternalAuthProperties_STATUS { + if in == nil { + return nil + } + out := new(ExternalAuthProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupClaimProfile) DeepCopyInto(out *GroupClaimProfile) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupClaimProfile. +func (in *GroupClaimProfile) DeepCopy() *GroupClaimProfile { + if in == nil { + return nil + } + out := new(GroupClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupClaimProfile_STATUS) DeepCopyInto(out *GroupClaimProfile_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupClaimProfile_STATUS. +func (in *GroupClaimProfile_STATUS) DeepCopy() *GroupClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(GroupClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster) DeepCopyInto(out *HcpOpenShiftCluster) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster. +func (in *HcpOpenShiftCluster) DeepCopy() *HcpOpenShiftCluster { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftCluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterList) DeepCopyInto(out *HcpOpenShiftClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterList. +func (in *HcpOpenShiftClusterList) DeepCopy() *HcpOpenShiftClusterList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterOperatorSecrets) DeepCopyInto(out *HcpOpenShiftClusterOperatorSecrets) { + *out = *in + if in.AdminCredentials != nil { + in, out := &in.AdminCredentials, &out.AdminCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterOperatorSecrets. +func (in *HcpOpenShiftClusterOperatorSecrets) DeepCopy() *HcpOpenShiftClusterOperatorSecrets { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterOperatorSpec) DeepCopyInto(out *HcpOpenShiftClusterOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(HcpOpenShiftClusterOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterOperatorSpec. +func (in *HcpOpenShiftClusterOperatorSpec) DeepCopy() *HcpOpenShiftClusterOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterProperties) DeepCopyInto(out *HcpOpenShiftClusterProperties) { + *out = *in + if in.Api != nil { + in, out := &in.Api, &out.Api + *out = new(ApiProfile) + (*in).DeepCopyInto(*out) + } + if in.Autoscaling != nil { + in, out := &in.Autoscaling, &out.Autoscaling + *out = new(ClusterAutoscalingProfile) + (*in).DeepCopyInto(*out) + } + if in.ClusterImageRegistry != nil { + in, out := &in.ClusterImageRegistry, &out.ClusterImageRegistry + *out = new(ClusterImageRegistryProfile) + (*in).DeepCopyInto(*out) + } + if in.Dns != nil { + in, out := &in.Dns, &out.Dns + *out = new(DnsProfile) + (*in).DeepCopyInto(*out) + } + if in.Etcd != nil { + in, out := &in.Etcd, &out.Etcd + *out = new(EtcdProfile) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(NetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(PlatformProfile) + (*in).DeepCopyInto(*out) + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(VersionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterProperties. +func (in *HcpOpenShiftClusterProperties) DeepCopy() *HcpOpenShiftClusterProperties { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClusterProperties_STATUS) DeepCopyInto(out *HcpOpenShiftClusterProperties_STATUS) { + *out = *in + if in.Api != nil { + in, out := &in.Api, &out.Api + *out = new(ApiProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Autoscaling != nil { + in, out := &in.Autoscaling, &out.Autoscaling + *out = new(ClusterAutoscalingProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ClusterImageRegistry != nil { + in, out := &in.ClusterImageRegistry, &out.ClusterImageRegistry + *out = new(ClusterImageRegistryProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Console != nil { + in, out := &in.Console, &out.Console + *out = new(ConsoleProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Dns != nil { + in, out := &in.Dns, &out.Dns + *out = new(DnsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Etcd != nil { + in, out := &in.Etcd, &out.Etcd + *out = new(EtcdProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(NetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(PlatformProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ProvisioningState_STATUS) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(VersionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClusterProperties_STATUS. +func (in *HcpOpenShiftClusterProperties_STATUS) DeepCopy() *HcpOpenShiftClusterProperties_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClusterProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster_STATUS) DeepCopyInto(out *HcpOpenShiftCluster_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(HcpOpenShiftClusterProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster_STATUS. +func (in *HcpOpenShiftCluster_STATUS) DeepCopy() *HcpOpenShiftCluster_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftCluster_Spec) DeepCopyInto(out *HcpOpenShiftCluster_Spec) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClusterOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(HcpOpenShiftClusterProperties) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftCluster_Spec. +func (in *HcpOpenShiftCluster_Spec) DeepCopy() *HcpOpenShiftCluster_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftCluster_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopy() *HcpOpenShiftClustersExternalAuth { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersExternalAuth) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopyInto(out *HcpOpenShiftClustersExternalAuthList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftClustersExternalAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuthList. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopy() *HcpOpenShiftClustersExternalAuthList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuthList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersExternalAuthList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuthOperatorSpec) DeepCopyInto(out *HcpOpenShiftClustersExternalAuthOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuthOperatorSpec. +func (in *HcpOpenShiftClustersExternalAuthOperatorSpec) DeepCopy() *HcpOpenShiftClustersExternalAuthOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuthOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth_STATUS) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ExternalAuthProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth_STATUS. +func (in *HcpOpenShiftClustersExternalAuth_STATUS) DeepCopy() *HcpOpenShiftClustersExternalAuth_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersExternalAuth_Spec) DeepCopyInto(out *HcpOpenShiftClustersExternalAuth_Spec) { + *out = *in + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClustersExternalAuthOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ExternalAuthProperties) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersExternalAuth_Spec. +func (in *HcpOpenShiftClustersExternalAuth_Spec) DeepCopy() *HcpOpenShiftClustersExternalAuth_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersExternalAuth_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool) DeepCopyInto(out *HcpOpenShiftClustersNodePool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool. +func (in *HcpOpenShiftClustersNodePool) DeepCopy() *HcpOpenShiftClustersNodePool { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersNodePool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopyInto(out *HcpOpenShiftClustersNodePoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HcpOpenShiftClustersNodePool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePoolList. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopy() *HcpOpenShiftClustersNodePoolList { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HcpOpenShiftClustersNodePoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePoolOperatorSpec) DeepCopyInto(out *HcpOpenShiftClustersNodePoolOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePoolOperatorSpec. +func (in *HcpOpenShiftClustersNodePoolOperatorSpec) DeepCopy() *HcpOpenShiftClustersNodePoolOperatorSpec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePoolOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool_STATUS) DeepCopyInto(out *HcpOpenShiftClustersNodePool_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(NodePoolProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool_STATUS. +func (in *HcpOpenShiftClustersNodePool_STATUS) DeepCopy() *HcpOpenShiftClustersNodePool_STATUS { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HcpOpenShiftClustersNodePool_Spec) DeepCopyInto(out *HcpOpenShiftClustersNodePool_Spec) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(HcpOpenShiftClustersNodePoolOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(NodePoolProperties) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HcpOpenShiftClustersNodePool_Spec. +func (in *HcpOpenShiftClustersNodePool_Spec) DeepCopy() *HcpOpenShiftClustersNodePool_Spec { + if in == nil { + return nil + } + out := new(HcpOpenShiftClustersNodePool_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsEncryptionProfile) DeepCopyInto(out *KmsEncryptionProfile) { + *out = *in + if in.ActiveKey != nil { + in, out := &in.ActiveKey, &out.ActiveKey + *out = new(KmsKey) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsEncryptionProfile. +func (in *KmsEncryptionProfile) DeepCopy() *KmsEncryptionProfile { + if in == nil { + return nil + } + out := new(KmsEncryptionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsEncryptionProfile_STATUS) DeepCopyInto(out *KmsEncryptionProfile_STATUS) { + *out = *in + if in.ActiveKey != nil { + in, out := &in.ActiveKey, &out.ActiveKey + *out = new(KmsKey_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsEncryptionProfile_STATUS. +func (in *KmsEncryptionProfile_STATUS) DeepCopy() *KmsEncryptionProfile_STATUS { + if in == nil { + return nil + } + out := new(KmsEncryptionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsKey) DeepCopyInto(out *KmsKey) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.VaultName != nil { + in, out := &in.VaultName, &out.VaultName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsKey. +func (in *KmsKey) DeepCopy() *KmsKey { + if in == nil { + return nil + } + out := new(KmsKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KmsKey_STATUS) DeepCopyInto(out *KmsKey_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.VaultName != nil { + in, out := &in.VaultName, &out.VaultName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsKey_STATUS. +func (in *KmsKey_STATUS) DeepCopy() *KmsKey_STATUS { + if in == nil { + return nil + } + out := new(KmsKey_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Label) DeepCopyInto(out *Label) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label. +func (in *Label) DeepCopy() *Label { + if in == nil { + return nil + } + out := new(Label) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Label_STATUS) DeepCopyInto(out *Label_STATUS) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label_STATUS. +func (in *Label_STATUS) DeepCopy() *Label_STATUS { + if in == nil { + return nil + } + out := new(Label_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ManagedServiceIdentityType) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity. +func (in *ManagedServiceIdentity) DeepCopy() *ManagedServiceIdentity { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity_STATUS) DeepCopyInto(out *ManagedServiceIdentity_STATUS) { + *out = *in + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ManagedServiceIdentityType_STATUS) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity_STATUS. +func (in *ManagedServiceIdentity_STATUS) DeepCopy() *ManagedServiceIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkProfile) DeepCopyInto(out *NetworkProfile) { + *out = *in + if in.HostPrefix != nil { + in, out := &in.HostPrefix, &out.HostPrefix + *out = new(int) + **out = **in + } + if in.MachineCidr != nil { + in, out := &in.MachineCidr, &out.MachineCidr + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(NetworkProfile_NetworkType) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkProfile. +func (in *NetworkProfile) DeepCopy() *NetworkProfile { + if in == nil { + return nil + } + out := new(NetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkProfile_STATUS) DeepCopyInto(out *NetworkProfile_STATUS) { + *out = *in + if in.HostPrefix != nil { + in, out := &in.HostPrefix, &out.HostPrefix + *out = new(int) + **out = **in + } + if in.MachineCidr != nil { + in, out := &in.MachineCidr, &out.MachineCidr + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(NetworkProfile_NetworkType_STATUS) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkProfile_STATUS. +func (in *NetworkProfile_STATUS) DeepCopy() *NetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(NetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolAutoScaling) DeepCopyInto(out *NodePoolAutoScaling) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(int) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolAutoScaling. +func (in *NodePoolAutoScaling) DeepCopy() *NodePoolAutoScaling { + if in == nil { + return nil + } + out := new(NodePoolAutoScaling) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolAutoScaling_STATUS) DeepCopyInto(out *NodePoolAutoScaling_STATUS) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(int) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolAutoScaling_STATUS. +func (in *NodePoolAutoScaling_STATUS) DeepCopy() *NodePoolAutoScaling_STATUS { + if in == nil { + return nil + } + out := new(NodePoolAutoScaling_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolPlatformProfile) DeepCopyInto(out *NodePoolPlatformProfile) { + *out = *in + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.OsDisk != nil { + in, out := &in.OsDisk, &out.OsDisk + *out = new(OsDiskProfile) + (*in).DeepCopyInto(*out) + } + if in.SubnetReference != nil { + in, out := &in.SubnetReference, &out.SubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolPlatformProfile. +func (in *NodePoolPlatformProfile) DeepCopy() *NodePoolPlatformProfile { + if in == nil { + return nil + } + out := new(NodePoolPlatformProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolPlatformProfile_STATUS) DeepCopyInto(out *NodePoolPlatformProfile_STATUS) { + *out = *in + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.OsDisk != nil { + in, out := &in.OsDisk, &out.OsDisk + *out = new(OsDiskProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SubnetId != nil { + in, out := &in.SubnetId, &out.SubnetId + *out = new(string) + **out = **in + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolPlatformProfile_STATUS. +func (in *NodePoolPlatformProfile_STATUS) DeepCopy() *NodePoolPlatformProfile_STATUS { + if in == nil { + return nil + } + out := new(NodePoolPlatformProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolProperties) DeepCopyInto(out *NodePoolProperties) { + *out = *in + if in.AutoRepair != nil { + in, out := &in.AutoRepair, &out.AutoRepair + *out = new(bool) + **out = **in + } + if in.AutoScaling != nil { + in, out := &in.AutoScaling, &out.AutoScaling + *out = new(NodePoolAutoScaling) + (*in).DeepCopyInto(*out) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]Label, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(NodePoolPlatformProfile) + (*in).DeepCopyInto(*out) + } + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = new(int) + **out = **in + } + if in.Taints != nil { + in, out := &in.Taints, &out.Taints + *out = make([]Taint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(NodePoolVersionProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolProperties. +func (in *NodePoolProperties) DeepCopy() *NodePoolProperties { + if in == nil { + return nil + } + out := new(NodePoolProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolProperties_STATUS) DeepCopyInto(out *NodePoolProperties_STATUS) { + *out = *in + if in.AutoRepair != nil { + in, out := &in.AutoRepair, &out.AutoRepair + *out = new(bool) + **out = **in + } + if in.AutoScaling != nil { + in, out := &in.AutoScaling, &out.AutoScaling + *out = new(NodePoolAutoScaling_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]Label_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeDrainTimeoutMinutes != nil { + in, out := &in.NodeDrainTimeoutMinutes, &out.NodeDrainTimeoutMinutes + *out = new(int) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(NodePoolPlatformProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ProvisioningState_STATUS) + **out = **in + } + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = new(int) + **out = **in + } + if in.Taints != nil { + in, out := &in.Taints, &out.Taints + *out = make([]Taint_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(NodePoolVersionProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolProperties_STATUS. +func (in *NodePoolProperties_STATUS) DeepCopy() *NodePoolProperties_STATUS { + if in == nil { + return nil + } + out := new(NodePoolProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolVersionProfile) DeepCopyInto(out *NodePoolVersionProfile) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolVersionProfile. +func (in *NodePoolVersionProfile) DeepCopy() *NodePoolVersionProfile { + if in == nil { + return nil + } + out := new(NodePoolVersionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodePoolVersionProfile_STATUS) DeepCopyInto(out *NodePoolVersionProfile_STATUS) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolVersionProfile_STATUS. +func (in *NodePoolVersionProfile_STATUS) DeepCopy() *NodePoolVersionProfile_STATUS { + if in == nil { + return nil + } + out := new(NodePoolVersionProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorsAuthenticationProfile) DeepCopyInto(out *OperatorsAuthenticationProfile) { + *out = *in + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = new(UserAssignedIdentitiesProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorsAuthenticationProfile. +func (in *OperatorsAuthenticationProfile) DeepCopy() *OperatorsAuthenticationProfile { + if in == nil { + return nil + } + out := new(OperatorsAuthenticationProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorsAuthenticationProfile_STATUS) DeepCopyInto(out *OperatorsAuthenticationProfile_STATUS) { + *out = *in + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = new(UserAssignedIdentitiesProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorsAuthenticationProfile_STATUS. +func (in *OperatorsAuthenticationProfile_STATUS) DeepCopy() *OperatorsAuthenticationProfile_STATUS { + if in == nil { + return nil + } + out := new(OperatorsAuthenticationProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsDiskProfile) DeepCopyInto(out *OsDiskProfile) { + *out = *in + if in.DiskStorageAccountType != nil { + in, out := &in.DiskStorageAccountType, &out.DiskStorageAccountType + *out = new(OsDiskProfile_DiskStorageAccountType) + **out = **in + } + if in.EncryptionSetReference != nil { + in, out := &in.EncryptionSetReference, &out.EncryptionSetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.SizeGiB != nil { + in, out := &in.SizeGiB, &out.SizeGiB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskProfile. +func (in *OsDiskProfile) DeepCopy() *OsDiskProfile { + if in == nil { + return nil + } + out := new(OsDiskProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsDiskProfile_STATUS) DeepCopyInto(out *OsDiskProfile_STATUS) { + *out = *in + if in.DiskStorageAccountType != nil { + in, out := &in.DiskStorageAccountType, &out.DiskStorageAccountType + *out = new(OsDiskProfile_DiskStorageAccountType_STATUS) + **out = **in + } + if in.EncryptionSetId != nil { + in, out := &in.EncryptionSetId, &out.EncryptionSetId + *out = new(string) + **out = **in + } + if in.SizeGiB != nil { + in, out := &in.SizeGiB, &out.SizeGiB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsDiskProfile_STATUS. +func (in *OsDiskProfile_STATUS) DeepCopy() *OsDiskProfile_STATUS { + if in == nil { + return nil + } + out := new(OsDiskProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlatformProfile) DeepCopyInto(out *PlatformProfile) { + *out = *in + if in.ManagedResourceGroup != nil { + in, out := &in.ManagedResourceGroup, &out.ManagedResourceGroup + *out = new(string) + **out = **in + } + if in.NetworkSecurityGroupReference != nil { + in, out := &in.NetworkSecurityGroupReference, &out.NetworkSecurityGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.OperatorsAuthentication != nil { + in, out := &in.OperatorsAuthentication, &out.OperatorsAuthentication + *out = new(OperatorsAuthenticationProfile) + (*in).DeepCopyInto(*out) + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(PlatformProfile_OutboundType) + **out = **in + } + if in.SubnetReference != nil { + in, out := &in.SubnetReference, &out.SubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformProfile. +func (in *PlatformProfile) DeepCopy() *PlatformProfile { + if in == nil { + return nil + } + out := new(PlatformProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlatformProfile_STATUS) DeepCopyInto(out *PlatformProfile_STATUS) { + *out = *in + if in.IssuerUrl != nil { + in, out := &in.IssuerUrl, &out.IssuerUrl + *out = new(string) + **out = **in + } + if in.ManagedResourceGroup != nil { + in, out := &in.ManagedResourceGroup, &out.ManagedResourceGroup + *out = new(string) + **out = **in + } + if in.NetworkSecurityGroupId != nil { + in, out := &in.NetworkSecurityGroupId, &out.NetworkSecurityGroupId + *out = new(string) + **out = **in + } + if in.OperatorsAuthentication != nil { + in, out := &in.OperatorsAuthentication, &out.OperatorsAuthentication + *out = new(OperatorsAuthenticationProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(PlatformProfile_OutboundType_STATUS) + **out = **in + } + if in.SubnetId != nil { + in, out := &in.SubnetId, &out.SubnetId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformProfile_STATUS. +func (in *PlatformProfile_STATUS) DeepCopy() *PlatformProfile_STATUS { + if in == nil { + return nil + } + out := new(PlatformProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Taint) DeepCopyInto(out *Taint) { + *out = *in + if in.Effect != nil { + in, out := &in.Effect, &out.Effect + *out = new(Effect) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint. +func (in *Taint) DeepCopy() *Taint { + if in == nil { + return nil + } + out := new(Taint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Taint_STATUS) DeepCopyInto(out *Taint_STATUS) { + *out = *in + if in.Effect != nil { + in, out := &in.Effect, &out.Effect + *out = new(Effect_STATUS) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint_STATUS. +func (in *Taint_STATUS) DeepCopy() *Taint_STATUS { + if in == nil { + return nil + } + out := new(Taint_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimMappingsProfile) DeepCopyInto(out *TokenClaimMappingsProfile) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = new(GroupClaimProfile) + (*in).DeepCopyInto(*out) + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(UsernameClaimProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimMappingsProfile. +func (in *TokenClaimMappingsProfile) DeepCopy() *TokenClaimMappingsProfile { + if in == nil { + return nil + } + out := new(TokenClaimMappingsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimMappingsProfile_STATUS) DeepCopyInto(out *TokenClaimMappingsProfile_STATUS) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = new(GroupClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(UsernameClaimProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimMappingsProfile_STATUS. +func (in *TokenClaimMappingsProfile_STATUS) DeepCopy() *TokenClaimMappingsProfile_STATUS { + if in == nil { + return nil + } + out := new(TokenClaimMappingsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimValidationRule) DeepCopyInto(out *TokenClaimValidationRule) { + *out = *in + if in.RequiredClaim != nil { + in, out := &in.RequiredClaim, &out.RequiredClaim + *out = new(TokenRequiredClaim) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(TokenClaimValidationRule_Type) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimValidationRule. +func (in *TokenClaimValidationRule) DeepCopy() *TokenClaimValidationRule { + if in == nil { + return nil + } + out := new(TokenClaimValidationRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenClaimValidationRule_STATUS) DeepCopyInto(out *TokenClaimValidationRule_STATUS) { + *out = *in + if in.RequiredClaim != nil { + in, out := &in.RequiredClaim, &out.RequiredClaim + *out = new(TokenRequiredClaim_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(TokenClaimValidationRule_Type_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimValidationRule_STATUS. +func (in *TokenClaimValidationRule_STATUS) DeepCopy() *TokenClaimValidationRule_STATUS { + if in == nil { + return nil + } + out := new(TokenClaimValidationRule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenIssuerProfile) DeepCopyInto(out *TokenIssuerProfile) { + *out = *in + if in.Audiences != nil { + in, out := &in.Audiences, &out.Audiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Ca != nil { + in, out := &in.Ca, &out.Ca + *out = new(string) + **out = **in + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenIssuerProfile. +func (in *TokenIssuerProfile) DeepCopy() *TokenIssuerProfile { + if in == nil { + return nil + } + out := new(TokenIssuerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenIssuerProfile_STATUS) DeepCopyInto(out *TokenIssuerProfile_STATUS) { + *out = *in + if in.Audiences != nil { + in, out := &in.Audiences, &out.Audiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Ca != nil { + in, out := &in.Ca, &out.Ca + *out = new(string) + **out = **in + } + if in.Url != nil { + in, out := &in.Url, &out.Url + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenIssuerProfile_STATUS. +func (in *TokenIssuerProfile_STATUS) DeepCopy() *TokenIssuerProfile_STATUS { + if in == nil { + return nil + } + out := new(TokenIssuerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenRequiredClaim) DeepCopyInto(out *TokenRequiredClaim) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.RequiredValue != nil { + in, out := &in.RequiredValue, &out.RequiredValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRequiredClaim. +func (in *TokenRequiredClaim) DeepCopy() *TokenRequiredClaim { + if in == nil { + return nil + } + out := new(TokenRequiredClaim) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenRequiredClaim_STATUS) DeepCopyInto(out *TokenRequiredClaim_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.RequiredValue != nil { + in, out := &in.RequiredValue, &out.RequiredValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRequiredClaim_STATUS. +func (in *TokenRequiredClaim_STATUS) DeepCopy() *TokenRequiredClaim_STATUS { + if in == nil { + return nil + } + out := new(TokenRequiredClaim_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentitiesProfile) DeepCopyInto(out *UserAssignedIdentitiesProfile) { + *out = *in + if in.ControlPlaneOperatorsReferences != nil { + in, out := &in.ControlPlaneOperatorsReferences, &out.ControlPlaneOperatorsReferences + *out = make(map[string]genruntime.ResourceReference, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.DataPlaneOperatorsReferences != nil { + in, out := &in.DataPlaneOperatorsReferences, &out.DataPlaneOperatorsReferences + *out = make(map[string]genruntime.ResourceReference, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceManagedIdentityReference != nil { + in, out := &in.ServiceManagedIdentityReference, &out.ServiceManagedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentitiesProfile. +func (in *UserAssignedIdentitiesProfile) DeepCopy() *UserAssignedIdentitiesProfile { + if in == nil { + return nil + } + out := new(UserAssignedIdentitiesProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentitiesProfile_STATUS) DeepCopyInto(out *UserAssignedIdentitiesProfile_STATUS) { + *out = *in + if in.ControlPlaneOperators != nil { + in, out := &in.ControlPlaneOperators, &out.ControlPlaneOperators + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.DataPlaneOperators != nil { + in, out := &in.DataPlaneOperators, &out.DataPlaneOperators + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceManagedIdentity != nil { + in, out := &in.ServiceManagedIdentity, &out.ServiceManagedIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentitiesProfile_STATUS. +func (in *UserAssignedIdentitiesProfile_STATUS) DeepCopy() *UserAssignedIdentitiesProfile_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentitiesProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UsernameClaimProfile) DeepCopyInto(out *UsernameClaimProfile) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PrefixPolicy != nil { + in, out := &in.PrefixPolicy, &out.PrefixPolicy + *out = new(UsernameClaimPrefixPolicy) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsernameClaimProfile. +func (in *UsernameClaimProfile) DeepCopy() *UsernameClaimProfile { + if in == nil { + return nil + } + out := new(UsernameClaimProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UsernameClaimProfile_STATUS) DeepCopyInto(out *UsernameClaimProfile_STATUS) { + *out = *in + if in.Claim != nil { + in, out := &in.Claim, &out.Claim + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.PrefixPolicy != nil { + in, out := &in.PrefixPolicy, &out.PrefixPolicy + *out = new(UsernameClaimPrefixPolicy_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsernameClaimProfile_STATUS. +func (in *UsernameClaimProfile_STATUS) DeepCopy() *UsernameClaimProfile_STATUS { + if in == nil { + return nil + } + out := new(UsernameClaimProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionProfile) DeepCopyInto(out *VersionProfile) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionProfile. +func (in *VersionProfile) DeepCopy() *VersionProfile { + if in == nil { + return nil + } + out := new(VersionProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionProfile_STATUS) DeepCopyInto(out *VersionProfile_STATUS) { + *out = *in + if in.ChannelGroup != nil { + in, out := &in.ChannelGroup, &out.ChannelGroup + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionProfile_STATUS. +func (in *VersionProfile_STATUS) DeepCopy() *VersionProfile_STATUS { + if in == nil { + return nil + } + out := new(VersionProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/redhatopenshift/versions_matrix.md b/v2/api/redhatopenshift/versions_matrix.md index 2e114a5c11a..9434551497b 100644 --- a/v2/api/redhatopenshift/versions_matrix.md +++ b/v2/api/redhatopenshift/versions_matrix.md @@ -1,42 +1,145 @@ -| Type Definitions in package "redhatopenshift" | v1api20231122 | -|-----------------------------------------------|---------------| -| APIServerProfile | v1api20231122 | -| APIServerProfile_STATUS | v1api20231122 | -| APIVersion | v1api20231122 | -| ClusterProfile | v1api20231122 | -| ClusterProfile_STATUS | v1api20231122 | -| ConsoleProfile_STATUS | v1api20231122 | -| EffectiveOutboundIP_STATUS | v1api20231122 | -| EncryptionAtHost | v1api20231122 | -| EncryptionAtHost_STATUS | v1api20231122 | -| FipsValidatedModules | v1api20231122 | -| FipsValidatedModules_STATUS | v1api20231122 | -| IngressProfile | v1api20231122 | -| IngressProfile_STATUS | v1api20231122 | -| LoadBalancerProfile | v1api20231122 | -| LoadBalancerProfile_STATUS | v1api20231122 | -| ManagedOutboundIPs | v1api20231122 | -| ManagedOutboundIPs_STATUS | v1api20231122 | -| MasterProfile | v1api20231122 | -| MasterProfile_STATUS | v1api20231122 | -| NetworkProfile | v1api20231122 | -| NetworkProfile_STATUS | v1api20231122 | -| OpenShiftCluster | v1api20231122 | -| OpenShiftClusterProperties | v1api20231122 | -| OpenShiftClusterProperties_STATUS | v1api20231122 | -| OpenShiftCluster_STATUS | v1api20231122 | -| OpenShiftCluster_Spec | v1api20231122 | -| OutboundType | v1api20231122 | -| OutboundType_STATUS | v1api20231122 | -| PreconfiguredNSG | v1api20231122 | -| PreconfiguredNSG_STATUS | v1api20231122 | -| ProvisioningState_STATUS | v1api20231122 | -| ServicePrincipalProfile | v1api20231122 | -| ServicePrincipalProfile_STATUS | v1api20231122 | -| SystemData_CreatedByType_STATUS | v1api20231122 | -| SystemData_LastModifiedByType_STATUS | v1api20231122 | -| SystemData_STATUS | v1api20231122 | -| Visibility | v1api20231122 | -| Visibility_STATUS | v1api20231122 | -| WorkerProfile | v1api20231122 | -| WorkerProfile_STATUS | v1api20231122 | +| Type Definitions in package "redhatopenshift" | v1api20231122 | v1api20240610preview | +|--------------------------------------------------------|---------------|----------------------| +| APIServerProfile | v1api20231122 | | +| APIServerProfile_STATUS | v1api20231122 | | +| APIVersion | v1api20231122 | v1api20240610preview | +| ApiProfile | | v1api20240610preview | +| ApiProfile_STATUS | | v1api20240610preview | +| ApiProfile_Visibility | | v1api20240610preview | +| ApiProfile_Visibility_STATUS | | v1api20240610preview | +| ClusterAutoscalingProfile | | v1api20240610preview | +| ClusterAutoscalingProfile_STATUS | | v1api20240610preview | +| ClusterImageRegistryProfile | | v1api20240610preview | +| ClusterImageRegistryProfile_STATUS | | v1api20240610preview | +| ClusterImageRegistryProfile_State | | v1api20240610preview | +| ClusterImageRegistryProfile_State_STATUS | | v1api20240610preview | +| ClusterProfile | v1api20231122 | | +| ClusterProfile_STATUS | v1api20231122 | | +| ConsoleProfile_STATUS | v1api20231122 | v1api20240610preview | +| CustomerManagedEncryptionProfile | | v1api20240610preview | +| CustomerManagedEncryptionProfile_EncryptionType | | v1api20240610preview | +| CustomerManagedEncryptionProfile_EncryptionType_STATUS | | v1api20240610preview | +| CustomerManagedEncryptionProfile_STATUS | | v1api20240610preview | +| DnsProfile | | v1api20240610preview | +| DnsProfile_STATUS | | v1api20240610preview | +| Effect | | v1api20240610preview | +| Effect_STATUS | | v1api20240610preview | +| EffectiveOutboundIP_STATUS | v1api20231122 | | +| EncryptionAtHost | v1api20231122 | | +| EncryptionAtHost_STATUS | v1api20231122 | | +| EtcdDataEncryptionProfile | | v1api20240610preview | +| EtcdDataEncryptionProfile_KeyManagementMode | | v1api20240610preview | +| EtcdDataEncryptionProfile_KeyManagementMode_STATUS | | v1api20240610preview | +| EtcdDataEncryptionProfile_STATUS | | v1api20240610preview | +| EtcdProfile | | v1api20240610preview | +| EtcdProfile_STATUS | | v1api20240610preview | +| ExternalAuthClaimProfile | | v1api20240610preview | +| ExternalAuthClaimProfile_STATUS | | v1api20240610preview | +| ExternalAuthClientComponentProfile | | v1api20240610preview | +| ExternalAuthClientComponentProfile_STATUS | | v1api20240610preview | +| ExternalAuthClientProfile | | v1api20240610preview | +| ExternalAuthClientProfile_STATUS | | v1api20240610preview | +| ExternalAuthClientType | | v1api20240610preview | +| ExternalAuthClientType_STATUS | | v1api20240610preview | +| ExternalAuthConditionType_STATUS | | v1api20240610preview | +| ExternalAuthCondition_STATUS | | v1api20240610preview | +| ExternalAuthProperties | | v1api20240610preview | +| ExternalAuthProperties_STATUS | | v1api20240610preview | +| ExternalAuthProvisioningState_STATUS | | v1api20240610preview | +| FipsValidatedModules | v1api20231122 | | +| FipsValidatedModules_STATUS | v1api20231122 | | +| GroupClaimProfile | | v1api20240610preview | +| GroupClaimProfile_STATUS | | v1api20240610preview | +| HcpOpenShiftCluster | | v1api20240610preview | +| HcpOpenShiftClusterProperties | | v1api20240610preview | +| HcpOpenShiftClusterProperties_STATUS | | v1api20240610preview | +| HcpOpenShiftCluster_STATUS | | v1api20240610preview | +| HcpOpenShiftCluster_Spec | | v1api20240610preview | +| HcpOpenShiftClustersExternalAuth | | v1api20240610preview | +| HcpOpenShiftClustersExternalAuth_STATUS | | v1api20240610preview | +| HcpOpenShiftClustersExternalAuth_Spec | | v1api20240610preview | +| HcpOpenShiftClustersNodePool | | v1api20240610preview | +| HcpOpenShiftClustersNodePool_STATUS | | v1api20240610preview | +| HcpOpenShiftClustersNodePool_Spec | | v1api20240610preview | +| IngressProfile | v1api20231122 | | +| IngressProfile_STATUS | v1api20231122 | | +| KmsEncryptionProfile | | v1api20240610preview | +| KmsEncryptionProfile_STATUS | | v1api20240610preview | +| KmsKey | | v1api20240610preview | +| KmsKey_STATUS | | v1api20240610preview | +| Label | | v1api20240610preview | +| Label_STATUS | | v1api20240610preview | +| LoadBalancerProfile | v1api20231122 | | +| LoadBalancerProfile_STATUS | v1api20231122 | | +| ManagedOutboundIPs | v1api20231122 | | +| ManagedOutboundIPs_STATUS | v1api20231122 | | +| ManagedServiceIdentity | | v1api20240610preview | +| ManagedServiceIdentityType | | v1api20240610preview | +| ManagedServiceIdentityType_STATUS | | v1api20240610preview | +| ManagedServiceIdentity_STATUS | | v1api20240610preview | +| MasterProfile | v1api20231122 | | +| MasterProfile_STATUS | v1api20231122 | | +| NetworkProfile | v1api20231122 | v1api20240610preview | +| NetworkProfile_NetworkType | | v1api20240610preview | +| NetworkProfile_NetworkType_STATUS | | v1api20240610preview | +| NetworkProfile_STATUS | v1api20231122 | v1api20240610preview | +| NodePoolAutoScaling | | v1api20240610preview | +| NodePoolAutoScaling_STATUS | | v1api20240610preview | +| NodePoolPlatformProfile | | v1api20240610preview | +| NodePoolPlatformProfile_STATUS | | v1api20240610preview | +| NodePoolProperties | | v1api20240610preview | +| NodePoolProperties_STATUS | | v1api20240610preview | +| NodePoolVersionProfile | | v1api20240610preview | +| NodePoolVersionProfile_STATUS | | v1api20240610preview | +| OpenShiftCluster | v1api20231122 | | +| OpenShiftClusterProperties | v1api20231122 | | +| OpenShiftClusterProperties_STATUS | v1api20231122 | | +| OpenShiftCluster_STATUS | v1api20231122 | | +| OpenShiftCluster_Spec | v1api20231122 | | +| OperatorsAuthenticationProfile | | v1api20240610preview | +| OperatorsAuthenticationProfile_STATUS | | v1api20240610preview | +| OsDiskProfile | | v1api20240610preview | +| OsDiskProfile_DiskStorageAccountType | | v1api20240610preview | +| OsDiskProfile_DiskStorageAccountType_STATUS | | v1api20240610preview | +| OsDiskProfile_STATUS | | v1api20240610preview | +| OutboundType | v1api20231122 | | +| OutboundType_STATUS | v1api20231122 | | +| PlatformProfile | | v1api20240610preview | +| PlatformProfile_OutboundType | | v1api20240610preview | +| PlatformProfile_OutboundType_STATUS | | v1api20240610preview | +| PlatformProfile_STATUS | | v1api20240610preview | +| PreconfiguredNSG | v1api20231122 | | +| PreconfiguredNSG_STATUS | v1api20231122 | | +| ProvisioningState_STATUS | v1api20231122 | v1api20240610preview | +| ServicePrincipalProfile | v1api20231122 | | +| ServicePrincipalProfile_STATUS | v1api20231122 | | +| StatusType_STATUS | | v1api20240610preview | +| SystemData_CreatedByType_STATUS | v1api20231122 | v1api20240610preview | +| SystemData_LastModifiedByType_STATUS | v1api20231122 | v1api20240610preview | +| SystemData_STATUS | v1api20231122 | v1api20240610preview | +| Taint | | v1api20240610preview | +| Taint_STATUS | | v1api20240610preview | +| TokenClaimMappingsProfile | | v1api20240610preview | +| TokenClaimMappingsProfile_STATUS | | v1api20240610preview | +| TokenClaimValidationRule | | v1api20240610preview | +| TokenClaimValidationRule_STATUS | | v1api20240610preview | +| TokenClaimValidationRule_Type | | v1api20240610preview | +| TokenClaimValidationRule_Type_STATUS | | v1api20240610preview | +| TokenIssuerProfile | | v1api20240610preview | +| TokenIssuerProfile_STATUS | | v1api20240610preview | +| TokenRequiredClaim | | v1api20240610preview | +| TokenRequiredClaim_STATUS | | v1api20240610preview | +| UserAssignedIdentitiesProfile | | v1api20240610preview | +| UserAssignedIdentitiesProfile_STATUS | | v1api20240610preview | +| UserAssignedIdentityDetails | | v1api20240610preview | +| UserAssignedIdentity_STATUS | | v1api20240610preview | +| UsernameClaimPrefixPolicy | | v1api20240610preview | +| UsernameClaimPrefixPolicy_STATUS | | v1api20240610preview | +| UsernameClaimProfile | | v1api20240610preview | +| UsernameClaimProfile_STATUS | | v1api20240610preview | +| VersionProfile | | v1api20240610preview | +| VersionProfile_STATUS | | v1api20240610preview | +| Visibility | v1api20231122 | | +| Visibility_STATUS | v1api20231122 | | +| WorkerProfile | v1api20231122 | | +| WorkerProfile_STATUS | v1api20231122 | | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index 524dc185d23..79db59d6d2c 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -97,6 +97,11 @@ typeFilters: version: v*20240101preview because: We need ScheduledQueryRules from this. + - action: include + group: redhatopenshift + version: v*20240610preview + because: We want to export ARO-HCP resources from this preview version + - action: include group: common because: we need these for common resource properties @@ -4517,6 +4522,26 @@ objectModelConfiguration: $isSecret: true ClientId: $importConfigMapMode: optional + 2024-06-10-preview: + HcpOpenShiftClusters_NodePool: + $supportedFrom: v2.16.0 + $exportAs: HcpOpenShiftClustersNodePool + HcpOpenShiftClusters_ExternalAuth: + $supportedFrom: v2.16.0 + $exportAs: HcpOpenShiftClustersExternalAuth + HcpOpenShiftCluster: + $exportAs: HcpOpenShiftCluster + $supportedFrom: v2.16.0 + $azureGeneratedSecrets: + - AdminCredentials + # Configure references for complex types + NodePoolVersionProfile: + Id: + $referenceType: simple + VersionProfile: + Id: + $referenceType: simple + search: 2022-09-01: SearchService: diff --git a/v2/cmd/asoctl/go.mod b/v2/cmd/asoctl/go.mod index 959b3efb970..ed418e7a6a0 100644 --- a/v2/cmd/asoctl/go.mod +++ b/v2/cmd/asoctl/go.mod @@ -32,6 +32,7 @@ require ( require ( cel.dev/expr v0.24.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect + github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2 v2.1.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration v1.1.1 // indirect diff --git a/v2/cmd/asoctl/go.sum b/v2/cmd/asoctl/go.sum index 961f13363f4..3b46138dd2e 100644 --- a/v2/cmd/asoctl/go.sum +++ b/v2/cmd/asoctl/go.sum @@ -2,6 +2,16 @@ cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c h1:87vAiJBU5WFjtkNJ+4OALd0vLPx6kdYHnGnBMy8H1Uc= +github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c/go.mod h1:C1VXDoM+nRpHTD3jf1I1ASXwkTqLKRySnkMOxGCxwHE= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 h1:Gt0j3wceWMwPmiazCa8MzMA0MfhmPIz0Qp0FJ6qcM0U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0/go.mod h1:Ot/6aikWnKWi4l9QB7qVSwa8iMphQNqkWALMoNT3rzM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1 h1:Wc1ml6QlJs2BHQ/9Bqu1jiyggbsSjramq2oUmp5WeIo= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1/go.mod h1:Ot/6aikWnKWi4l9QB7qVSwa8iMphQNqkWALMoNT3rzM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.2 h1:Hr5FTipp7SL07o2FvoVOX9HRiRH3CR3Mj8pxqCcdD5A= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.2/go.mod h1:QyVsSSN64v5TGltphKLQ2sQxe4OBQg0J1eKRcVBnfgE= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.0 h1:ci6Yd6nysBRLEodoziB6ah1+YOzZbZk+NYneoA6q+6E= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.0/go.mod h1:QyVsSSN64v5TGltphKLQ2sQxe4OBQg0J1eKRcVBnfgE= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 h1:5YTBM8QDVIBN3sxBil89WfdAAqDZbyJTgh688DSxX5w= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 h1:wL5IEG5zb7BVv1Kv0Xm92orq+5hB5Nipn3B5tn4Rqfk= diff --git a/v2/go.mod b/v2/go.mod index 2fe763a62ab..d67c1024dfb 100644 --- a/v2/go.mod +++ b/v2/go.mod @@ -7,6 +7,7 @@ toolchain go1.24.2 require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0 + github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2 v2.1.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration v1.1.1 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2 v2.2.0 diff --git a/v2/go.sum b/v2/go.sum index 2f6816618fa..75e08e1413b 100644 --- a/v2/go.sum +++ b/v2/go.sum @@ -45,6 +45,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 h1:5YTBM8QDVIBN3sxBil89WfdA github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0 h1:KpMC6LFL7mqpExyMC9jVOYRiVhLmamjeZfRsUpB7l4s= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0/go.mod h1:J7MUC/wtRpfGVbQ5sIItY5/FuVWmvzlY21WAOfQnq/I= +github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c h1:87vAiJBU5WFjtkNJ+4OALd0vLPx6kdYHnGnBMy8H1Uc= +github.com/Azure/ARO-HCP/test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp v0.0.0-20250925182946-013bda23593c/go.mod h1:C1VXDoM+nRpHTD3jf1I1ASXwkTqLKRySnkMOxGCxwHE= github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY= github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA= diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index b31ba991b48..74243532f1f 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -332,6 +332,9 @@ import ( redhatopenshift_v20231122 "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20231122" redhatopenshift_v20231122s "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20231122/storage" redhatopenshift_v20231122w "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20231122/webhook" + redhatopenshift_v20240610p "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview" + redhatopenshift_v20240610ps "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/storage" + redhatopenshift_v20240610pw "github.com/Azure/azure-service-operator/v2/api/redhatopenshift/v1api20240610preview/webhook" resources_customizations "github.com/Azure/azure-service-operator/v2/api/resources/customizations" resources_v20200601 "github.com/Azure/azure-service-operator/v2/api/resources/v1api20200601" resources_v20200601s "github.com/Azure/azure-service-operator/v2/api/resources/v1api20200601/storage" @@ -2271,6 +2274,9 @@ func getKnownStorageTypes() []*registration.StorageType { }, }, }) + result = append(result, ®istration.StorageType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftCluster)}) + result = append(result, ®istration.StorageType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftClustersExternalAuth)}) + result = append(result, ®istration.StorageType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftClustersNodePool)}) result = append(result, ®istration.StorageType{Obj: new(resources_v20200601s.ResourceGroup)}) result = append(result, ®istration.StorageType{Obj: new(search_v20231101s.SearchService)}) result = append(result, ®istration.StorageType{Obj: new(servicebus_v20240101s.Namespace)}) @@ -5011,6 +5017,28 @@ func getKnownTypes() []*registration.KnownType { Validator: &redhatopenshift_v20231122w.OpenShiftCluster{}, }) result = append(result, ®istration.KnownType{Obj: new(redhatopenshift_v20231122s.OpenShiftCluster)}) + result = append( + result, + ®istration.KnownType{ + Obj: new(redhatopenshift_v20240610p.HcpOpenShiftCluster), + Defaulter: &redhatopenshift_v20240610pw.HcpOpenShiftCluster{}, + Validator: &redhatopenshift_v20240610pw.HcpOpenShiftCluster{}, + }, + ®istration.KnownType{ + Obj: new(redhatopenshift_v20240610p.HcpOpenShiftClustersExternalAuth), + Defaulter: &redhatopenshift_v20240610pw.HcpOpenShiftClustersExternalAuth{}, + Validator: &redhatopenshift_v20240610pw.HcpOpenShiftClustersExternalAuth{}, + }, + ®istration.KnownType{ + Obj: new(redhatopenshift_v20240610p.HcpOpenShiftClustersNodePool), + Defaulter: &redhatopenshift_v20240610pw.HcpOpenShiftClustersNodePool{}, + Validator: &redhatopenshift_v20240610pw.HcpOpenShiftClustersNodePool{}, + }) + result = append( + result, + ®istration.KnownType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftCluster)}, + ®istration.KnownType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftClustersExternalAuth)}, + ®istration.KnownType{Obj: new(redhatopenshift_v20240610ps.HcpOpenShiftClustersNodePool)}) result = append(result, ®istration.KnownType{ Obj: new(resources_v20200601.ResourceGroup), Defaulter: &resources_v20200601w.ResourceGroup{}, @@ -5774,6 +5802,8 @@ func createScheme() *runtime.Scheme { _ = operationalinsights_v20210601s.AddToScheme(scheme) _ = redhatopenshift_v20231122.AddToScheme(scheme) _ = redhatopenshift_v20231122s.AddToScheme(scheme) + _ = redhatopenshift_v20240610p.AddToScheme(scheme) + _ = redhatopenshift_v20240610ps.AddToScheme(scheme) _ = resources_v20200601.AddToScheme(scheme) _ = resources_v20200601s.AddToScheme(scheme) _ = search_v20220901.AddToScheme(scheme) @@ -6013,6 +6043,9 @@ func getResourceExtensions() []genruntime.ResourceExtension { result = append(result, ¬ificationhubs_customizations.NotificationHubExtension{}) result = append(result, ¬ificationhubs_customizations.NotificationHubsAuthorizationRuleExtension{}) result = append(result, &operationalinsights_customizations.WorkspaceExtension{}) + result = append(result, &redhatopenshift_customizations.HcpOpenShiftClusterExtension{}) + result = append(result, &redhatopenshift_customizations.HcpOpenShiftClustersExternalAuthExtension{}) + result = append(result, &redhatopenshift_customizations.HcpOpenShiftClustersNodePoolExtension{}) result = append(result, &redhatopenshift_customizations.OpenShiftClusterExtension{}) result = append(result, &resources_customizations.ResourceGroupExtension{}) result = append(result, &search_customizations.SearchServiceExtension{}) diff --git a/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftcluster.yaml b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftcluster.yaml new file mode 100644 index 00000000000..0611b33cc74 --- /dev/null +++ b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftcluster.yaml @@ -0,0 +1,104 @@ +apiVersion: redhatopenshift.azure.com/v1api20240610preview +kind: HcpOpenShiftCluster +metadata: + name: mveber-int + namespace: default +spec: + azureName: mveber-int + location: uksouth + owner: + group: resources.azure.com + kind: ResourceGroup + name: mveber-int-resgroup + identity: + type: UserAssigned + userAssignedIdentities: + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cloud-controller-manager-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cloud-network-config-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cluster-api-azure-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-control-plane-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-disk-csi-driver-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-file-csi-driver-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-image-registry-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-ingress-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-kms-46972e" + - reference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-service-managed-identity-46972e" + properties: + platform: + networkSecurityGroupReference: + group: network.azure.com + kind: NetworkSecurityGroup + name: mveber-int-nsg + operatorsAuthentication: + userAssignedIdentities: + controlPlaneOperatorsReferences: + cloud-controller-manager: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cloud-controller-manager-46972e" + cloud-network-config: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cloud-network-config-46972e" + cluster-api-azure: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-cluster-api-azure-46972e" + control-plane: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-control-plane-46972e" + disk-csi-driver: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-disk-csi-driver-46972e" + file-csi-driver: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-file-csi-driver-46972e" + image-registry: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-image-registry-46972e" + ingress: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-ingress-46972e" + kms: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-cp-kms-46972e" + dataPlaneOperatorsReferences: + disk-csi-driver: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-dp-disk-csi-driver-46972e" + file-csi-driver: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-dp-file-csi-driver-46972e" + image-registry: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-dp-image-registry-46972e" + serviceManagedIdentityReference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourcegroups/mveber-int-resgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mveber-mveber-int-service-managed-identity-46972e" + subnetReference: + group: network.azure.com + kind: VirtualNetworksSubnet + name: "mveber-int-vnet-mveber-int-subnet" + # namespace: default + managedResourceGroup: "capz_node_mveber-int_mveber-int-resgroup_rg" + outboundType: LoadBalancer + clusterImageRegistry: + state: Enabled + etcd: + dataEncryption: + keyManagementMode: CustomerManaged + customerManaged: + encryptionType: KMS + kms: + activeKey: + vaultName: "mveber-int-kv" + name: "etcd-data-kms-encryption-key" + version: "40037529f72042cbb4f69ddb97b8bced" + network: + hostPrefix: 23 + networkType: OVNKubernetes + machineCidr: "10.0.0.0/16" + podCidr: "10.128.0.0/14" + serviceCidr: "172.30.0.0/16" + version: + channelGroup: stable + id: "4.19" + api: + visibility: Public + tags: + environment: production + owner: sre-team diff --git a/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersexternalauth.yaml b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersexternalauth.yaml new file mode 100644 index 00000000000..d4ac8098964 --- /dev/null +++ b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersexternalauth.yaml @@ -0,0 +1,30 @@ +apiVersion: redhatopenshift.azure.com/v1api20240610preview +kind: HcpOpenShiftClustersExternalAuth +metadata: + name: mveber-int-external-auth + namespace: default +spec: + azureName: mveber-int-external-auth + owner: + group: redhatopenshift.azure.com + kind: HcpOpenShiftCluster + name: mveber-int + properties: + issuer: + url: "https://login.microsoftonline.com/tenant-id/v2.0" + ca: + name: oidc-ca-secret + key: ca.crt + clientProfile: + id: "client-id-12345" + secret: + name: oidc-client-secret + key: client-secret + claimProfile: + username: + claim: "preferred_username" + prefix: "oidc:" + prefixPolicy: "Prefix" + groups: + claim: "groups" + prefix: "oidc:" diff --git a/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersnodepool.yaml b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersnodepool.yaml new file mode 100644 index 00000000000..8a5187f2211 --- /dev/null +++ b/v2/samples/redhatopenshift/v1api20240610preview/v1api20240610preview_hcpopenshiftclustersnodepool.yaml @@ -0,0 +1,38 @@ +apiVersion: redhatopenshift.azure.com/v1api20240610preview +kind: HcpOpenShiftClustersNodePool +metadata: + name: mveber-int-mp-0 + namespace: default +spec: + azureName: mveber-int-mp-0 + location: uksouth + owner: + group: redhatopenshift.azure.com + kind: HcpOpenShiftCluster + name: mveber-int + properties: + # replicas: 2 + autoRepair: true + autoScaling: + min: 2 + max: 10 + labels: + - key: region + value: uksouth + taints: + - key: "example.com/special" + value: "true" + effect: "NoSchedule" + platform: + osDisk: + diskStorageAccountType: "Standard_LRS" + sizeGiB: 128 + subnetReference: + armId: "/subscriptions/64f0619f-ebc2-4156-9d91-c4c781de7e54/resourceGroups/mveber-int-resgroup/providers/Microsoft.Network/virtualNetworks/mveber-int-vnet/subnets/mveber-int-subnet" + vmSize: "Standard_D4s_v3" + version: + channelGroup: stable + id: "4.19.0" + tags: + environment: production + cost-center: engineering diff --git a/v2/specs/azure-rest-api-specs b/v2/specs/azure-rest-api-specs index 0d8336c9036..f198f8cf668 160000 --- a/v2/specs/azure-rest-api-specs +++ b/v2/specs/azure-rest-api-specs @@ -1 +1 @@ -Subproject commit 0d8336c9036a7ae5af1149c41267fdc88e306a64 +Subproject commit f198f8cf668901b2a7565d0eb2fefb6f0e8ed0af